Nginx【調度器】輪詢算法
同客戶端訪問相同Web服務器 ip_hash算法(加在客戶端要固定訪問的服務器前面,達到客戶端一直訪問這個服務器的效果。加個ip_hash就能實現)
41配置upstream服務器集羣池屬性(代理服務器,服務器都要有nginx的./configure)
一般服務器模塊填寫 ./configure --with-http_ssl_module --with-http_stub_status_module --with-stream
在nginx的配置文件的upstream裏的服務器後面配置 權重,超時時間,失敗次數。
vim /usr/local/nginx/conf/nginx.conf
upstream webserver {
server 192.168.2.100 weight=1 max_fails=1 fail_timeout=30;
server 192.168.2.101 down;
#weight設置服務器權重值,默認值爲1
#max_fails設置最大失敗次數
#fail_timeout設置失敗超時時間,單位爲秒
#down標記服務器已關機,不參與集羣調度
4.2重啓nginx服務
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
5,同客戶端訪問相同Web服務器 ip_hash算法(加在客戶端要固定訪問的服務器前面,達到客戶端一直訪問這個服務器的效果。加個ip_hash就能實現) ip_hash需要加裝 --with-stream 打開後能支持4層代理!可以代理任何服務器
upstream webserver {
server 192.168.2.100 max_fails=3;
ip_hash; (客戶端一直訪問2.200服務端)
server 192.168.2.200:80;
【proxy代理機】/usr/local/nginx/sbin/nginx -s reload
[root@client客戶機 ~]# curl http://192.168.4.5 //使用該命令多次訪問查看效果
6,Nginx的TCP/UDP調度器
想要調度 ftp,qq, mysql,samb 要在nginx 的配置文件的stream下執行!
想要調度網頁,web要在nginx的配置文件的http下執行!
服務器要加模塊 --with-stream
已經安裝後需要nginx重裝然後,rm -rf /usr/local/nginx 再給腳本./configure 後加入 --with-stream模塊!
兩種調度裏寫的內容一樣!如下
stream{
upstream mysqls或ssh {
server 192.168....:22或:3306;這是後端服務器,SSH端口和ip,後端
server 192.168....:22或:3306; 服務器是什麼端口就是什麼!
}
}
客戶不會直接訪問端口訪問後端服務器,要訪問的是代理(好比找房的中介所!)所以我們還需要以下!
server {
listen 3306;
proxy_pass mysqls或ssh; 調用上面的服務組!
}
}
http的後端格式與stream一樣,但調用格式不同,有點區別!以下是網站調度器!
htpp{
upstream webs{
server 10.....:80;
server .............} }
server {
listen 80;
server_name localhost(這裏寫的是本地,可以寫其他ip地址)
proxy_pass http://webs; 調用http服務的webs
}
}
網頁的F12能看出網頁加載的快不快(後面有毫秒單位的記時)
壓縮比率,當併發量過億後,併發量處理尤爲重要!!!
nginx服務器web網頁存在 /usr/local/nginx/html 下面!這個目錄屬於硬盤,硬盤的讀取速度是電腦裏最慢的(相對於cpu,內存),如果web每執行一次操作就來讀取硬盤那是非常慢的! 所以網也會把熱點內容緩存在網頁的緩存裏(爲熱點次數可以設置 )(可以設置緩存最大多少 ,最大緩存60s,無人訪問,存在時間爲20s)