nginx的server、location、upstream


server:用於進行服務器訪問信息的配置

 1 srever模塊配置是http模塊中的一個子模塊,用來定義一個虛擬訪問主機,也就是一個虛擬服務器的配置信息
 2 server {
 3   listen 80;
 4   server_name localhost 192.168.1.100;
 5   root /nginx/www;
 6   index index.php index.html index.html;
 7   charset utf-8;
 8   access_log logs/access.log;
 9   error_log logs/error.log;
10   ......
11 }
12 
13 server:一個虛擬主機的配置,一個http中可以配置多個server
14 
15 server_name:用力啊指定ip地址或者域名,多個配置之間用空格分隔
16 
17 root:表示整個server虛擬主機內的根目錄,所有當前主機中web項目的根目錄
18 
19 index:用戶訪問web網站時的全局首頁
20 
21 charset:用於設置www/路徑中配置的網頁的默認編碼格式
22 
23 access_log:用於指定該虛擬主機服務器中的訪問記錄日志存放路徑
24 
25 error_log:用於指定該虛擬主機服務器中訪問錯誤日志的存放路徑

location:用於進行訪問路由的配置

 1 復制代碼
 2 location模塊是nginx配置中出現最多的一個配置,主要用於配置路由訪問信息在路由訪問信息配置中關聯到反向代理、負載均衡等等各項功能,所以location模塊也是一個非常重要的配置模塊
 3 
 4 location / {
 5   root /nginx/www;
 6   index index.php index.html index.htm;
 7 }
 8 
 9 location /:表示匹配訪問根目錄
10 
11 root:用於指定訪問根目錄時,訪問虛擬主機的web目錄
12 
13 index:在不指定訪問具體資源時,默認展示的資源文件列表
14  
19 location /api {
20             proxy_pass http://www.baidu.com;
21             #以下是一些反向代理的配置可刪除
22             proxy_redirect     off; 
23             #后端的Web服務器可以通過X-Forwarded-For獲取用戶真實IP
24             proxy_set_header   Host $host; 
25             proxy_set_header   X-Real-IP $remote_addr; 
26             proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
27             client_max_body_size       10m; #允許客戶端請求的最大單文件字節數
28             client_body_buffer_size    128k; #緩沖區代理緩沖用戶端請求的最大字節數
29             proxy_connect_timeout      300; #nginx跟后端服務器連接超時時間(代理連接超時)
30             proxy_send_timeout         300; #后端服務器數據回傳時間(代理發送超時)
31             proxy_read_timeout         300; #連接成功后,后端服務器響應時間(代理接收超時)
32             proxy_buffer_size          4k; #設置代理服務器(nginx)保存用戶頭信息的緩沖區大小
33             proxy_buffers              4 32k; #proxy_buffers緩沖區,網頁平均在32k以下的話,這樣設置
34             proxy_busy_buffers_size    64k; #高負荷下緩沖大小(proxy_buffers*235             proxy_temp_file_write_size 64k; #設定緩存文件夾大小,大於這個值,將從upstream服務器傳
36     }

upstream:用於進行負載均衡的配置

 1 upstream模塊主要負責負載均衡的配置,通過默認的輪詢調度方式來分發請求到后端服務器
 2 
 3   upstream name {
 4     ip_hash;
 5     server 192.168.1.100:8000;
 6     server 192.168.1.100:8001 down;
 7     server 192.168.1.100:8002 max_fails=3;
 8     server 192.168.1.100:8003 fail_timeout=20s;
 9     server 192.168.1.100:8004 max_fails=3 fail_timeout=20s;
10   }
11 
12  
13 
14 ip_hash:指定請求調度算法,默認是weight權重輪詢調度,可以指定
15 server host:port:分發服務器的列表配置
16 -- down:表示該主機暫停服務
17 -- max_fails:表示失敗最大次數,超過失敗最大次數暫停服務
18 -- fail_timeout:表示如果請求受理失敗,暫停指定的時間之后重新發起請求

nginx基本命令

1 強制停止nginx服務器,如果有未處理的數據,丟棄
2 nginx -s stop
3 
4 停止nginx服務器,如果有未處理的數據,等待處理完成之后停止
5 nginx -s quit
6 
7 重啟nginx服務器
8 nginx -s reload

 

來源:https://www.cnblogs.com/nanianqiming/p/10630899.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM