nginx 負載均衡時,一臺tomcat當機時的問題 自動切換
如果Nginx沒有僅僅只能代理一臺伺服器的話,那它也不可能像今天這麼火,Nginx可以配置代理多臺伺服器,當一臺伺服器當機之後,仍能保持系統可用。具體配置過程如下:
1. 在http節點下,新增upstream節點。
upstream linuxidc {
}<wbr><wbr><wbr><wbr><wbr><wbr>
http://linuxidc”.<wbr><wbr>
location / {
}<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
upstream linuxidc{
}<wbr><wbr><wbr><wbr><wbr><wbr>
upstream favresin{
}<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
}<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
url_hash(第三方)
按訪問url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為快取時比較有效。
注意:在upstream中加入hash語句,server語句中不能寫入weight等其他的引數,hash_method是使用的hash演算法。
}<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
upstream還可以為每個裝置設定狀態值,這些狀態值的含義分別如下:
down 表示單前的server暫時不參與負載.
weight 預設為1.weight越大,負載的權重就越大。
max_fails :允許請求失敗的次數預設為1.當超過最大次數時,返回proxy_next_upstream 模組定義的錯誤.
fail_timeout : max_fails次失敗後,暫停的時間。
backup: 其它所有的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。
upstream bakend{ #定義負載均衡裝置的Ip及裝置狀態
}<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>
Nginx的配置與部署研究,Upstream負載均衡模組
CentOS 6.2實戰部署Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用Nginx搭建WEB伺服器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基於Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web伺服器全過程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3下Nginx效能調優 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3下配置Nginx載入ngx_pagespeed模組 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4安裝配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx安裝配置使用詳細筆記 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx日誌過濾 使用ngx_log_if不記錄特定日誌 http://www.linuxidc.com/Linux/2014-07/104686.htm
Nginx 的詳細介紹:請點這裡
Nginx 的下載地址:請點這裡
用了nginx負載均衡後,在兩臺tomcat正常執行的情況下,訪問http://localhost 速度非常迅速,通過測試程式也可以看出是得到的負載均衡的效果,但是我們試驗性的把其中一臺tomcat(server localhost:8080)關閉後,再檢視http://localhost,發現反應呈現了一半反映時間快,一半反映時間非常非常慢的情況,但是最後都能得到正確結果.
解決辦法:
問題解決,主要是proxy_connect_timeout#user
worker_processes
#error_log
#error_log
#error_log
#pid
events {
}
http {