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