安裝依賴環境
引入映象源
vi /etc/yum.repos.d/nginx.repo --建立編輯nginx.repo
新增以下內容:
nginx-stable]
name=nginx stable repo
baseurl=
gpgcheck=1
enabled=1
gpgkey=
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=
gpgcheck=1
enabled=0
gpgkey=
module_hotfixes=true
安裝時預設選擇stable包,如想使用mainline包,執行一下這個命令:
sudo yum-config-manager --enable nginx-mainline 安裝
yum install nginx --安裝
systemctl status nginx --檢視執行狀態
systemctl start nginx --啟動
systemctl restart nginx --重啟
systemctl stop nginx --關閉
systemctl enable nginx --設定開機自啟動
nginx -v --檢視安裝版本
yum list|grep nginx --檢視可用版本
ps -ef|grep nginx --檢視nginx程序
nginx.conf --配置檔案
1. 配置主體結構
user nobody; # 在「主」上下文中的指令
}2. load balancer(負載均衡)
要開始使用nginx plus或nginx開源來平衡一組伺服器的http流量,首先需要使用upstream指令來定義這個組。指令放在http上下文中
}組中的伺服器使用server指令配置(不要與定義在nginx上執行的虛擬伺服器的伺服器塊混淆)
server
}下面的示例組合了上面的兩個片段,並展示了如何將http請求**到後端伺服器組。這個組由三個伺服器組成,其中兩個執行同一應用程式的例項,而第三個是備份伺服器。因為上游塊中沒有指定負載平衡演算法,nginx使用預設的迴圈演算法:
server
}}3. 選擇負載平衡方法
i. nginx開源支援四種負載平衡方法,nginx plus增加了兩種方法:
a. 輪循:請求均勻地分布在伺服器上,同時考慮了伺服器的權重。這個方法是預設使用的(沒有啟用它的指令)
upstream backend
b. 最少的連線:乙個請求被傳送到伺服器的活動連線數最少,同樣考慮到伺服器的權重
upstream backend
c. ip hash:傳送請求的伺服器由客戶機ip位址決定。在這種情況下,使用ipv4位址的前三個位元組或整個ipv6位址來計算雜湊值。該方法保證來自相同位址的請求到達相同的伺服器,除非該伺服器不可用
upstream backend
upstream backend
d. 通用雜湊——請求傳送到的伺服器由使用者定義的鍵決定,鍵可以是文字字串、變數或組合。例如,金鑰可以是乙個成對的源ip位址和埠,或者是乙個uri,如下例所示
upstream backend
雜湊指令的可選一致性引數支援ketama一致性雜湊負載平衡。根據使用者定義的雜湊鍵值,請求均勻地分布在所有上游伺服器上。如果向上游組新增或從上游組刪除乙個上游伺服器,則只會重新對映幾個鍵,這在負載平衡快取伺服器或其他累積狀態的應用程式中最小化了快取丟失。
e. 最少時間(nginx plus only)——對於每個請求,nnginx plus選擇平均延遲最低和活動連線最少的伺服器,其中最低平均延遲是根據least_time指令的以下引數計算的:
header - 從伺服器接收第乙個位元組的時間
last_byte - 從伺服器接收完整響應的時間
last_byte inflight - 考慮到不完整的請求,從伺服器接收完整響應的時間
upstream backend
f. 隨機:每個請求將被傳遞到乙個隨機選擇的伺服器。如果指定了兩個引數,首先nginx根據server權值隨機選擇兩台伺服器,然後使用指定的方法選擇其中一台
least_conn - 活動連線的最少數量
least_time=header (nginx plus) - 從伺服器接收響應報頭的最小平均時間($upstream_header_time)
least_time=last_byte (nginx plus) - 從伺服器接收完整響應的最小平均時間($upstream_response_time)
upstream backend
ii. 伺服器的權重
預設情況下,nginx使用輪詢方法在組中的伺服器之間根據它們的權重分配請求。伺服器指令的權值引數設定伺服器的權值;預設值是1
upstream backend
例如,backend1.example.com的權值為5;其他兩個伺服器具有預設的權值(1),但是ip位址為192.0.0.1的伺服器被標記為備份伺服器,除非其他兩個伺服器都不可用,否則不會接收請求。使用這種權重配置,每6個請求中有5個傳送到backend1.example.com, 1個傳送到backend2.example.com
iii. 伺服器慢啟動
伺服器慢啟動特性可以防止最近恢復的伺服器被連線壓得喘不過氣來,因為連線可能會超時並導致伺服器再次被標記為失敗。
在nginx plus中,slow - start允許上游伺服器在恢復或可用之後逐漸將其權重從0恢復到其標稱值。這可以通過伺服器指令的slow_start引數完成:
upstream backend
時間值(這裡是30秒)設定nginx plus將伺服器連線數量增加到最大的時間。
注意,如果在乙個組中只有乙個伺服器,那麼伺服器指令的max_failed、fail_timeout和slow_start引數將被忽略,伺服器永遠不會被認為不可用。
ok,希望對有需要的同學有所幫助~.~。 centos7安裝nginx與nginx配置檔案
yum install gcc c nginx原始碼編譯需要 yum install y pcre pcre devel nginx 的 http 模組使用 pcre 來解析正規表示式yum install y zlib zlib devel nginx 使用zlib對http包的內容進行gzipy...
Centos7 編譯安裝Nginx
nginx版本分開發版和穩定版,生產環境使用穩定版,實驗新功能,新特性可以使用開發版。安裝nginx編譯需要依賴的包 yum install gcc gcc c wget yum install pcre devel zlib devel openssl devel說明 zlib nginx提供gz...
CentOs7如何安裝nginx?
首先來說一下nginx是什麼有什麼作用,nginx是俄羅斯人開發的乙個開源的高效能的伺服器軟體,他主要用來左負載均衡或者反向 解決跨域問題等。nginx安裝 1 安裝必備工具工具 假設沒有安裝的話 yum y install wget gcc gcc c wgettar zxvf 你的安裝包名4 安...