Nginx是lgor Sysoev為俄羅斯訪問量第二的rambler.ru站點(diǎn)設(shè)計(jì)開發(fā)的。從2004年發(fā)布至今,憑借開源的力量,已經(jīng)接近成熟與完善。
Nginx功能豐富,可作為HTTP服務(wù)器,也可作為反向代理服務(wù)器,郵件服務(wù)器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模塊擴(kuò)展。
Nginx的穩(wěn)定性、功能集、示例配置文件和低系統(tǒng)資源的消耗讓他后來居上,在全球活躍的網(wǎng)站中有12.18%的使用比率,大約為2220萬個(gè)網(wǎng)站。
1、我們在http模塊中有下面的配置,當(dāng)代理遇到狀態(tài)碼為404時(shí),我們把404頁面導(dǎo)向百度。
error_page 404 ;#百度錯(cuò)誤頁
然而這個(gè)配置,細(xì)心的朋友可以發(fā)現(xiàn)他并沒有起作用。
如果我們想讓他起作用,我們必須配合著下面的配置一起使用
proxy_intercept_errors on;#如果被代理服務(wù)器返回的狀態(tài)碼為400或者大于400,設(shè)置的error_page配置起作用。默認(rèn)為off。
2、如果我們的代理只允許接受get,post請求方法的一種
proxy_method get; #支持客戶端的請求方法。post/get;
3、設(shè)置支持的http協(xié)議版本
proxy_http_version 1.0 ;#Nginx服務(wù)器提供代理服務(wù)的http協(xié)議版本1.0,1.1,默認(rèn)設(shè)置為1.0版本
4、如果你的nginx服務(wù)器給2臺(tái)web服務(wù)器做代理,負(fù)載均衡算法采用輪詢,那么當(dāng)你的一臺(tái)機(jī)器web程序iis關(guān)閉,也就是說web不能訪問,那么nginx服務(wù)器分發(fā)請求還是會(huì)給這臺(tái)不能訪問的web服務(wù)器,如果這里的響應(yīng)連接時(shí)間過長,就會(huì)導(dǎo)致客戶端的頁面一直在等待響應(yīng),對用戶來說體驗(yàn)就打打折扣,這里我們怎么避免這樣的情況發(fā)生呢。這里我配張圖來說明下問題。
之前說nginx有哪些中負(fù)載均衡算法。這一結(jié)我就給如果操作配置的給大家做詳細(xì)說明下。
首先給大家說下upstream這個(gè)配置的,這個(gè)配置是寫一組被代理的服務(wù)器地址,然后配置負(fù)載均衡的算法。這里的被代理服務(wù)器地址有2中寫法。
復(fù)制代碼
upstream mysvr {
server 192.168.10.121:3333;
server 192.168.10.122:3333;
}
server {
....
location ~*^.+$ {
proxy_pass http://mysvr;#請求轉(zhuǎn)向mysvr 定義的服務(wù)器列表
}
復(fù)制代碼
復(fù)制代碼
upstream mysvr {
server http://192.168.10.121:3333;
server http://192.168.10.122:3333;
}
server {
....
location ~*^.+$ {
proxy_pass mysvr;#請求轉(zhuǎn)向mysvr 定義的服務(wù)器列表
}