Nginx可以作为文件下载服务器提供服务,如下图:
配置方法:
server {
listen 80;
server_name 192.168.18.132;
location / {
root /usr/local/nginx/html/download;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8,gbk;
if ($request_filename ~ ^.*?.(txt|img|mp4)$) {
add_header Content-Disposition attachment;
}
}
}
使用上面的配置,只需将需要下载的文件,放到/usr/local/nginx/html/download目录下,即可通过浏览器下载。
参数说明:
1)autoindex:
是否将文件以列表的形式显示在浏览器中。默认值off,可选值:on/off;
2)autoindex_exact_size:
是否仅以字节形式显示文件大小。默认值on,可选值:on/off。设置为off时,将以K、M等单位显示文件大小;
3)autoindex_localtime:
是否以服务器系统时间显示文件修改时间。默认值off,可选值:on/off。
4)charset:
以中文命名的文件名,在浏览器中显示时会乱码,设置charset可以正常显示中文字符;
5)add_header:
默认情况下,txt文件、图片、视频等会在浏览器中直接打开,而不是下载。通过add_header添加头信息,将文件的属性改为附件,可以正常下载。