前言
有时候会面临需要把远程服务器的文件下载到本地的需求,这时候就需要搭建下载服务器了。常见的有专门用于下载的FTP服务,但这里我使用HTTP服务,之前介绍过使用python的simpleHTTP来创建临时的下载服务器,只需要一句命令就够了,很方便。但是simpleHTTP不支持多线程,对大文件下载来说不是那么友好。本文介绍另一种基于nginx的下载服务器搭建方法。
搭建过程
由于服务器安装的是宝塔的LNMP,宝塔在安装nginx的时候修改了其安装路径为/www/server/nginx/sbin/nginx
,如果是手动安装的nginx,那么其路径可能为/usr/local/nginx/sbin/nginx
,后续的命令应该做相应的修改。
1.创建nginx配置文件
由于使用了宝塔,而宝塔创建网站时的配置文件路径为/www/server/panel/vhost/nginx
,因此我也是在该路径下创建了新的配置文件tempdl.conf。内容如下:
server {
listen 6789; # 端口
server_name 11.22.33.44; # 服务器的ip或者服务器的域名
charset utf-8; # 避免中文乱码
root /home/files/downloads; #下载目录(好像不能是root下的目录)
location / {
autoindex on; # 索引
autoindex_exact_size off; # 粗略显示文件大小
autoindex_localtime on; # 显示文件时间
# 限速100K
#limit_rate 100k;
}
access_log /www/wwwlogs/yourServerName.log; # 网站访问日志
error_log /www/wwwlogs/yourServerName.error.log; # 网站错误日志
}
2.重载配置文件
在重载配置文件前,可以先测试配置文件是否有错误:
/www/server/nginx/sbin/nginx -t
重载配置文件:
/www/server/nginx/sbin/nginx -s reload
3.打开防火墙端口
将第一步配置文件中的端口在防火墙中放行
使用
1.浏览器下载
经过上面的步骤下载服务器已经搭建好了,下载文件时只需浏览器中打开http://IP(或域名):端口
即可。这种方式适合小文件。
2.wget下载
wget是一个好用的命令行下载工具。
下载单文件:
wget $url
下载目录:
wget -r -np -nH $url
参数说明:
-r:递归下载(下载目录下所有文件),默认递归5层
-np:no_parrent,不向上遍历父目录
-nH:不建立顶层IP(域名)目录
-c:自动重试,断点续传,大文件必备
-b:后台运行,关闭shell也不会中断,自动生成wget-log日志文件
-o logfile:指定输出日志文件为logfile,覆盖式
-a logfile:指定输出日志文件为logfile,追加式
-i urlfile.txt:批量下载urlfile.txt中的下载链接文件
-A iso,pdf:配合目录下载命令,可以只下载目录下后缀为iso和pdf的文件
-R iso,pdf:配合目录下载命令,可以下载目录下后缀为iso和pdf以外的文件
参考文章
http://www.lymslive.top/blog/20190616_1.html
本站未做转载声明的文章均为原创,版权归https://blog.3014159.xyz所有, 转载文章均会在文内声明转载信息并标明来源。 本文作者为圆周驴,原文链接为https://blog.3014159.xyz/server/2020/12/09/45.html,转载需注明原文链接。谢谢!