使用Nginx搭建文件下載服務器的方法詳解
一、在本機搭建文件服務器
1、修改配置文件:
server {
listen 80;
server_name localhost;
#防止亂碼,需要加上編碼
#charset utf-8;
#路由規(guī)則
#如果想把nginx作為下載服務器,則改為系統(tǒng)目錄地址
#比如下面這樣,(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、修改好配置文件后,創(chuàng)建相對應的目錄
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都沒有匹配到,則重新請求最后一個參數(shù)給定的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搭建文件下載服務器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何實現(xiàn)Nginx同一端口同時支持http與https協(xié)議
最近有一個需求,需要讓一個端口的http服務支持https訪問,本文就來介紹一下如何實現(xiàn)Nginx同一端口同時支持http與https協(xié)議,感興趣的可以了解一下2023-11-11
Nginx限制某個IP同一時間段的訪問次數(shù)和請求數(shù)示例代碼
nginx可以通過ngx_http_limit_conn_module和ngx_http_limit_req_module配置來限制ip在同一時間段的訪問次數(shù).具體示例代碼大家參考下本文2017-08-08

