nginx配置詳情

2021-10-12 17:33:30 字數 3228 閱讀 7970

tip:生活不易,碼農辛苦

我是小刀,在網際網路中夾縫求生 我希望你開心…

#工作程序:數目。根據硬體調整,通常等於cpu數量或者2倍於cpu。數量越大,吞吐量越大

worker_processes 16;

#工作模式及連線數上限

}#定義nginx執行的使用者和使用者組

user username usergroup;

#nginx程序數,建議設定為等於cpu總核心數。

worker_processes 8;

#全域性錯誤日誌定義型別,[ debug | info | notice | warn | error | crit ]

error_log /usr/local/nginx/logs/error.log info;

#程序pid檔案

pid /usr/local/nginx/logs/nginx.pid;

#指定程序可以開啟的最大描述符:數目

#工作模式與連線數上限

#這個指令是指當乙個nginx程序開啟的最多檔案描述符數目,理論值應該是最多開啟檔案數(ulimit -n)與nginx程序數相除,但是nginx分配請求並不是那麼均勻,所以最好與ulimit -n 的值保持一致。

#現在在linux 2.6核心下開啟檔案開啟數為65535,worker_rlimit_nofile就相應應該填寫65535。

#這是因為nginx排程時分配請求到程序並不是那麼的均衡,所以假如填寫10240,總併發量達到3-4萬時就有程序可能超過10240了,這時會返回502錯誤。

worker_rlimit_nofile 65535;

events

#設定http伺服器,利用它的反向**功能提供負載均衡支援

#每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。

#例如:

#upstream bakend

#3、fair(第三方)

#按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

#upstream backend

#4、url_hash(第三方)

#按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,後端伺服器為快取時比較有效。

#例:在upstream中加入hash語句,server語句中不能寫入weight等其他的引數,hash_method是使用的hash演算法

#upstream backend

#tips:

#upstream bakend

#在需要使用負載均衡的server中增加 proxy_pass http://bakend/;

#每個裝置的狀態設定為:

#1.down表示單前的server暫時不參與負載

#2.weight為weight越大,負載的權重就越大。

#3.max_fails:允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream模組定義的錯誤

#4.fail_timeout:max_fails次失敗後,暫停的時間。

#5.backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕(備用機)。

#nginx支援同時設定多組的負載均衡,用來給不用的server來使用。

#client_body_in_file_only設定為on 可以講client post過來的資料記錄到檔案中用來做debug

#client_body_temp_path設定記錄檔案的目錄 可以設定最多3層目錄

#location對url進行匹配.可以進行重定向或者進行新的** 負載均衡}

#虛擬主機的配置

server

#快取時間設定

#js和css快取時間設定

location ~ .*.(js|css)?$

#日誌格式設定

#$remote_addr與$http_x_forwarded_for用以記錄客戶端的ip位址;

#$remote_user:用來記錄客戶端使用者名稱;

#$time_local: 用來記錄訪問時間與時區;

#$request: 用來記錄請求的url與http協議;

#$status: 用來記錄請求狀態;成功是200,

#$body_bytes_sent :記錄傳送給客戶端檔案主體內容大小;

#通常web伺服器放在反向**的後面,這樣就不能獲取到客戶的ip位址了,通過$remote_add拿到的ip位址是反向**伺服器的ip位址。反向**伺服器在**請求的http頭資訊中,可以增加x_forwarded_for資訊,用以記錄原有客戶端的ip位址和原來客戶端的請求的伺服器位址。

#定義本虛擬主機的訪問日誌

access_log /usr/local/nginx/logs/host.access.log main;

access_log /usr/local/nginx/logs/host.access.404.log log404;

#對 "/" 啟用反向**

location /

#設定檢視nginx狀態的位址

location /nginxstatus

#本地動靜分離反向**配置

#所有jsp的頁面均交由tomcat或resin處理

location ~ .(jsp|jspx|do)?$

#所有靜態檔案由nginx直接讀取不經過tomcat或resin

nginx 配置詳情 解析

配置nginx nginx的配置檔案 usr local nginx conf nginx.conf 配置檔案常見結構的從外到內依次是 http server location 等等,預設的繼承關係是從外到內,也就是說內層塊會自動獲取外層塊的值作為預設值 server 解決監聽的 ip 網域名稱 埠...

nginx配置虛擬主機步驟詳情

把nginx的主配置檔案找到,把server都分離出來,放到乙個資料夾下。然後引入這個資料夾 開啟配置檔案 vim nginx.conf開啟後,把裡面的server 都刪掉,在裡面加入 include etc nginx default.d conf 這樣,就把server 分離出去了,全部丟在 e...

Nginx的虛擬伺服器配置詳情

任何由server開始的部分都被稱作虛擬伺服器部分。它描述的是一組根據server name指令邏輯分割的資源,這些虛擬伺服器響應http請求,因此他們都包含在http部分之中。乙個虛擬伺服器由listen和server name指令組合定義,listen指令定乙個ip位址 埠組合或者是unix域套...