使用Nginx搭建文件下载服务器的方法详解
作者:l386913
本篇文章主要介绍了使用nginx搭建文件下载服务器的方法,小编觉得挺不错的,现在分享给大家,文章通过代码给大家介绍的非常详细,有需要的一起跟随小编过来看看吧
一、在本机搭建文件服务器
1、修改配置文件:
server { listen 80; server_name localhost; #防止乱码,需要加上编码 #charset utf-8; #路由规则 #如果想把nginx作为下载服务器,则改为系统目录地址 #比如下面这样,(1)当访问主页时,打开的是本地的/data/upload/file目录 location / { root /data/upload/file; autoindex on; #开启索引功能 autoindex_exact_size off; #关闭计算文件确切大小(单位bytes), #只显示大概大小(单位kb、mb、gb) charset 'utf-8'; #防止乱码,需要加上编码 autoindex_localtime on; #显示本机时间而非 GMT 时间 } #location /file/ { #root /data/icp/upload/; #charset 'utf-8'; #autoindex on; #} }
2、修改好配置文件后,创建相对应的目录
3、重启nginx,访问页面http://localhost:80/
注意:如果访问页面报403的错误,这个是因为权限的问题,首先这里我们修改了启动nginx的用户为root,root的最高权限账户,所以不存在用户权限的问题,那么这里的权限问题就是SELINUX导致的,把它禁用了就可以了。方法是修改配置文件"/etc/selinux/config"
4、.当需要配置多个访问路径的时候,则其他的路径要将root改为alias:
location /test { alias /nginx/html/;#这里应该是alias,不再是root index index.html; }
二、Nginx访问另一台服务器上的文件
(一) 方法一
A服务器访问B服务器目录下的文件
1、两台服务器都需要安装nginx,且nginx配置如下:
A服务器配置:
#给出的file都没有匹配到,则重新请求最后一个参数给定的uri,就是新的location匹配 location ^~ /file/{ try_files $uri @new_uploads; } location @new_uploads{ proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://xxx.xx.xxx.xxx:9012; }
B服务器配置:
server { listen 9012; server_name localhost; location ^~ /file/{ alias /home/file/; #autoindex on;(原配置) autoindex on; index index.html index.htm; } }
2、重启两台服务器的nginx
3、访问:A服务器IP:端口/file/xxx即可访问到B服务器/home/file/目录下的文件了。
(二) 方法二
A服务器访问B服务器目录下的文件
1、两台服务器都需要安装nginx,且nginx配置如下:
A服务器配置:
location /file{ proxy_pass http://172.16.42.100:8081/file; client_max_body_size 5000m; }
B服务器配置:
server { listen 8081; server_name localhost; location /file { root /data/icp/upload; charset 'utf-8'; autoindex on; index index.html index.htm; } }
2、重启两台服务器的nginx
3、访问:A服务器IP:端口/file/xxx即可访问到B服务器/data/icp/upload/file/目录下的文件了。
到此这篇关于使用Nginx搭建文件下载服务器的方法详解的文章就介绍到这了,更多相关Nginx搭建文件下载服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!