在工作中经常会有共享文件的需求,如果共享的文件在开发机上,那么 sz 下来再传给对方未免太麻烦。而且在有跳板机的情况下,rz/sz 大文件常常失败。但如果在开发机上搭建了文件服务器,这样只需要将要共享的文件拷贝到文件服务器所在目录,然后将链接发给对方,对方便可自行下载。这里介绍几种搭建文件服务器的简单方式:
一、使用 python 内置的 http 服务器
python 2.x版本
如果使用的是 python 2.x 版本,那么在命令行下输入如下命令即可:1
python -m SimpleHTTPServer 80
后面的80端口是可选的,不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,在浏览器输入本机地址 http://127.0.01:80, 即可在浏览器中浏览下载共享的文件。
如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。
使用 python 3.x 版本
如果使用的是 python 3.x 版本,那么在命令行输入如下命令即可:1
python -m http.server 80
其他同上。
二、使用 nginx
如果是 centos 6.5,直接yum安装即可1
yum install nginx -y
nginx 配置文件位于:/etc/nginx/nginx.conf,里面可以修改处理器数量、日志路径、pid文件路径等。
默认的日志:
错误日志 /var/log/nginx/error.log
访问日志 /var/log/nginx/access.log
tips: 在 nginx.conf 末尾有一句:1
include /etc/nginx/conf.d/*.conf;
推荐用户把自己的配置放到 conf.d/ 目录下。
下面把默认的 server 修改为一个简单的文件服务器,vi /etc/nginx/conf.d/default.conf,修改监听端口 listen 和文件目录 root1
2
3
4
5
6
7
8
9
10
11
12
13
14autoindex on;# 显示目录
autoindex_exact_size on;# 显示文件大小
autoindex_localtime on;# 显示文件时间
server {
# listen 80 default_server;
listen 8080 default_server;
server_name _;
#root /usr/share/nginx/html;
root /home/changhuan/share;
...省略...
}
然后启动nginx:1
/etc/init.d/nginx start
浏览器访问,http://[nginx-ip]:8080,可以看到/home/changhuan/share 目录下的文件,并且点击链接就可以下载文件。
另外,执行如下命令,可以在不停止服务的情况下重载 nginx 配置:1
/etc/init.d/nginx reload
nginx 服务器出现 403 forbidden 的解决方法
出现 403 forbidden 说明服务器收到了请求,但是不允许访问。
这里首先确认要访问的文件的路径是否存在,如果文件路径不存在,则请求错误或者修改上述配置中的 root 选项。
如果文件存在,则很有可能是权限问题。比如上面 root 文件目录 /home/changhuan/share,可访问的用户为root 和 changhuan。这里有两种办法可以解决此问题。
- 修改相关文件夹的访问权限,使任何用户可以访问。
- 修改nginx运行用户。在 nginx 的配置文件 nginx.conf 中,在开头添加这一句:修改之后,重启nginx,即可访问成功。
1
user changhaun; # 填你自己的用户名即可