文件服务器搭建

文件服务器搭建

文件服务器有四个选择:

  • httpd(apache)

稳定,使用广泛,服务器一般自带,对于开发人员来说强烈推荐。

  • nginx

稳定高效,使用广泛,linux命令可直接下载,对于开发人员来说强烈推荐。

  • miniserve

简单易用,可直接下载安装包使用,跨平台。

  • gohttpserver

简单易用,可直接下载安装包使用,跨平台,还支持上传功能。

gohttpserver安装使用

这里推荐使用gohttpserver。二进制包请点击这里下载.

这里以amd64为例,使用如下命令下载二进制包:

(base) ┌──(dys㉿kali)-[~/tools]
└─$wget https://github.com/codeskyblue/gohttpserver/releases/download/1.1.4/gohttpserver_1.1.4_linux_amd64.tar.gz
(base) ┌──(dys㉿kali)-[~/tools]
└─$ tar -xvf gohttpserver_1.1.4_linux_amd64.tar.gz
LICENSE
README.md
gohttpserver

解压完成后使用如下命令运行:

(base) ┌──(dys㉿kali)-[~/tools]
└─$ ./gohttpserver -r /video --port 8096 --upload
2023/12/05 19:49:33 httpstaticserver.go:75: root path: /video/
2023/12/05 19:49:33 main.go:185: plistproxy: "https://plistproxy.herokuapp.com/plist"
2023/12/05 19:49:33 main.go:244: listening on ":8096", local address http://192.168.0.110:8096
2023/12/05 19:49:34 httpstaticserver.go:90: Started making search index
2023/12/05 19:50:07 httpstaticserver.go:92: Completed search index in 32.823624317s
2023/12/05 19:50:39 httpstaticserver.go:145: GET  /video
2023/12/05 19:50:39 main.go:57: 192.168.0.110 - GET 200 /
2023/12/05 19:50:46 httpstaticserver.go:145: GET -/user /video/-/user
2023/12/05 19:50:46 main.go:57: 192.168.0.110 - GET 404 /-/user
2023/12/05 19:50:46 main.go:57: 192.168.0.110 - GET 200 /?json=true&_=1701777380703
2023/12/05 19:50:56 main.go:57: 192.168.0.110 - GET 200 /video?json=true&_=1701777380704

为了保证gohttpserver开机可用或者意外停止后仍然可用,需要将gohttpserver配置成服务。

httpd配置

使用如下命令安装apache,

(base) ┌──(dys㉿kali)-[~/tools]
└─$ sudo apt install apache2

然后启动apache2,

(base) ┌──(dys㉿kali)-[~/tools]
└─$ sudo systemctl  status apache2.service  
○ apache2.service - The Apache HTTP ServerLoaded: loaded (/lib/systemd/system/apache2.service; disabled; preset: disabled)Active: inactive (dead)Docs: https://httpd.apache.org/docs/2.4/(base) ┌──(dys㉿kali)-[~/tools]
└─$ sudo systemctl  start apache2.service

修改ports.conf,将监听端口改为自己想要的然后再重启服务器。

(base) ┌──(dys㉿kali)-[~/tools]
└─$ sudo vim /etc/apache2/ports.conf  (base) ┌──(dys㉿kali)-[~/tools]
└─$ sudo systemctl  restart apache2.service

nginx配置

若nginx未下载,则需要先下载nginx。

apt install nginx

下载完成后,需要修改nginx配置:

vim /etc/nginx/nginx.conf

然后在http节点添加如下内容:

  autoindex on;             #开启索引功能autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)autoindex_localtime on;   # 显示本机时间而非 GMT 时间charset utf-8; # 避免中文乱码server {listen       8080; #监听端口号server_name  192.168.0.110;root         /video; # 共享的文件目录location / {}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}

然后启动nginx,

systemctl restart nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32CubeIDE串口空闲中断实现不定长数据接收

STM32F051空闲中断实现串口不定长数据接收 目的编程软件配置串口开中断中断程序运行结果目的 在串口输入不定长数据时,通过串口空闲中断来断帧接收数据。 编程软件 STM32CubeIDE STM32CubeMX配置MCU。通过对端口配置,自动生成程序,减少编程量。 配置串口开中断 配置串口…

redis中序列化问题,value包含全路径类名解析

1. 问题 redis中保存的key-value格式 value直接存入的是实体对象,值中包含全路径类名,在使用Jackson2JsonRedisSerializer和GenericJackson2JsonRedisSerializer解析器时报错 报错内容: com.fasterxml.jackson.databind.exc.InvalidTypeI…

《师兄啊师兄》第二季确认定档!海神扬名,稳健回归!

近日,《师兄啊师兄》第二季的定档海报和PV终于发布,确认将于12月14日上午10点强势回归!这部备受瞩目的国漫作品自第一季播出以来,便以其独特的剧情设定和唯美的画风,赢得了广大观众的喜爱。如今,动画第二季…

第一课【习题】给应用添加通知和提醒

构造进度条模板通知,name字段当前需要固定配置为downloadTemplate。 给通知设置分发时间,需要设置showDeliveryTime为false。 OpenHarmony提供后台代理提醒功能,在应用退居后台或退出后,计时和提醒通知功能被系统后台代理接管…

Qt 5.15.2 三维显示功能

Qt 5.15.2 三维显示功能 三维显示效果: .pro项目文件 QT core gui opengl 3dcore 3drender 3dinput 3dextrasgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c17# You can make your code fail to compile if it uses deprecated APIs. # In ord…

2023年法国经销商Solu-Watt来访安科瑞-安科瑞 蒋静

2023年4月10日上午9点,法国Solu-Watt公司Matthieu先生一行到安科瑞考察参观工厂的智能化出入库工作站、柔性化仪表生产车间及实验室。自1992年以来,Solu-Watt在电气设备市场中不断发展。能够提供量身定制的安装有线电气解决方案(电气柜、接线…

如何用Qt配置git项目并上传Gitee

1.进入到Qt项目文件夹内,打开 “Git Bash Here” 2.初始化,在“Git Bash Here”中输入 git init 3.加入所有文件,在“Git Bash Here”中输入 git add . (需要注意,git add 后面还有一个点) 4.添加备注,git com…

STL源码剖析笔记——哈希表、unordered_set、unordered_map、unordered_mutiset、unordered_mutimap

系列文章目录 STL源码剖析笔记——迭代器 STL源码剖析笔记——vector STL源码剖析笔记——list STL源码剖析笔记——deque、stack,queue STL源码剖析笔记——Binary Heap、priority_queue STL源码剖析笔记——AVL-tree、RB-tree、set、map、mutiset、mutimap STL源…

一套rk3588 rtsp服务器推流的 github 方案及记录 -01

我不生产代码,我只是代码的搬运工,相信我,看完这个文章你的图片一定能变成流媒体推出去。 诉求:使用opencv拉流,转成bgr数据,需要把处理后的数据(BGR)编码成264,然后推流…

字符串函数strtok

1.调用格式: 2.调用形式:char*strtok(char*p1,const char*p2),其中第二个是由分隔符组成的字符串,第一个为需要分隔的字符串 3.调用目的:将分隔符之间的字符串取出 4.调用时一般将源字符串拷贝后调用,因为此函数会将…

基于Unity3D 低多边形地形模型纹理贴图

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时,有几种不同的风格&#xf…

【工程实践】使用modelscope下载大模型文件

前言 Modelscope(魔搭社区)是阿里达摩院的一款开源模型平台,里面提供了很多的热门模型供使用体验,其中的模型文件可以通过git clone 快速下载。并且为模型提供了Notebook的快速开发体验,使用阿里云服务,不需…

【优选算法系列】【专题二滑动窗口】第三节.904. 水果成篮和438. 找到字符串中所有字母异位词

文章目录 前言一、水果成篮 1.1 题目描述 1.2 题目解析 1.2.1 算法原理 1.2.2 代码编写 1.2.3 题目总结二、找到字符串中所有字母异位词 2.1 题目描述 2.2 题目解析 2.2.1 算法原理 2.2.2 代码编写 …

SAP UI5 walkthrough step9 Component Configuration

在之前的章节中,我们已经介绍完了MVC的架构和实现,现在我们来讲一下,SAPUI5的结构 这一步,我们将所有的UI资产从index.html里面独立封装在一个组件里面 这样组件就变得独立,可复用了。这样,无所什么时候我…

队列的实现

学习就像一段长跑,比的不是谁跑得快,而是谁更能坚持!! 1 队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First O…

外网访问内网服务器使用教程

如何在任何地方都能访问自己家里的笔记本上的应用?如何让局域网的服务器可以被任何地方访问到?有很多类似的需求,我们可以统一用一个解决方案:内网穿透。内网穿透的工具及方式有很多,如Ngrok、Ssh、autossh、Natapp、F…

linux具体命令(一)

1. cd CD命令是Linux和类Unix操作系统中非常常用的一个命令,它的全称是“change directory”,用于改变当前的工作目录。用户可以通过这个命令进入到不同的目录中,进行文件操作或是执行其他任务。 以下是CD命令的一些基本用法: 进…

特殊进程之守护进程

文章目录 1、守护进程的概念2、如何查看守护进程3、编写守护进程的步骤3.1 创建子进程,父进程退出3.2 在子进程中创建新会话3.3 改变当前工作目录3.4 重设文件权限掩码3.5 关闭不需要的文件描述符3.6 某些特殊的守护进程打开/dev/null 4、守护进程代码示例 1、守护进…

[UNILM]论文实现:Unified Language Model Pre-training for Natural Language.........

文章目录 一、完整代码二、论文解读2.1 介绍2.2 架构2.3 输入端2.4 结果 三、过程实现四、整体总结 论文:Unified Language Model Pre-training for Natural Language Understanding and Generation 作者:Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xia…

js new 原理

mdn new new 调用函数时,该函数将被用作构造函数 类只能用 new 运算符实例化 不使用 new 调用一个类将抛出 TypeError。 过程 new Foo(…) 执行时: 创建一个空的简单 JavaScript 对象。 为方便起见,我们称之为 newInstance。 如果构造函数…