upstream模組
nginx的四種負載均衡策略
伺服器狀態設定
各個系統存放位置可能有些許不同,本文以mac為例/usr/local/etc/nginx/nginx.conf
,開啟後如下所示
}配置檔案整體可以分為三個部分,全域性模組,events模組,http模組。
從配置檔案開始到events之間的內容,主要是設定一些影響nginx整體執行的配置指令,比如
# 指定nginx要開啟的程序數,注意不要大於cpu的核心數
worker_processes 1;
主要配置nginx與使用者的網路連線
events
http模組又可以細分為sever模組,location模組和upstream模組
server
# **伺服器
location /api/
此模組主要用來配置負載均衡
# 在http模組中插入upstream模組
upstream myserver
# 修改**服務中的proxy_pass
location /api/
輪詢(預設):每個請求按時間順序逐一分配到不同的後端伺服器,如果後端某台伺服器宕機,故障系統被自動剔除,使使用者訪問不受影響;
weight:指定輪詢權值,weight值越大,分配到的訪問機率越高,主要用於後端每個伺服器效能不均的情況下;
ip_hash:每個請求按訪問ip的hash結果分配,這樣來自同乙個ip的訪客固定訪問乙個後端伺服器,有效解決了動態網頁存在的session共享問題;
url_hash:按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器,可以進一步提高後端快取伺服器的效率。nginx本身是不支援url_hash的,如果需要使用這種排程演算法,必須安裝nginx 的hash軟體包。
down:表示當前的server暫時不參與負載均衡;
backup:預留的備份機器。當其他所有的非backup機器出現故障或者忙的時候,才會請求backup機器,因此這台機器的壓力最輕;
weight 預設為1.weight越大,負載的權重就越大
max_fails:允許請求失敗的次數,預設為1。當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤;
fail_timeout:在經歷了max_fails次失敗後,暫停服務的時間。max_fails可以和fail_timeout一起使用。
nginx配置檔案詳解
nginx engine x 是乙個高效能的 http 和 反向 伺服器,也是乙個 imap pop3 smtp 伺服器。nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。igor 將源 以類bsd許可證的形式發布。ng...
nginx配置檔案詳解
定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error log ar loginx error.log...
Nginx配置檔案詳解
定義nginx執行的使用者各使用者組 user nginx nginx nginx程序數,建議設定與cpu核心數一致 worker processes 1 全域性錯誤日誌定義型別 debug info notice warn error crit error log logs error.log e...