nginx是一個高效能的http伺服器/反向代理伺服器及電子郵件(imap/pop3)代理伺服器。其占有記憶體少,並發能力強,在同類型的網頁伺服器中表現較好。 nginx可以在大多數unix linux os上編譯運行,並有windows移植版。一般情況下,對於新建站點,建議使用最新穩定版作為生產版本。
單一tomcat最大支援線上訪問是500左右,要通知支援更多的訪問量一個tomcat就沒辦法做到了。這裡我們採用叢集部署方式,使用多個tomcat,反向代理程式使用nginx。
架構如下:
準備工作
apache-tomcat-7.0.61
nginx-1.12.2
redis-x64-3.2.100
為簡化範例,這裡只講nginx tomcat的部署與整合。
nginx安裝
(1)到官網下載windows的最新穩定版nigx(我用的1.12.2版本)。
(2)解壓縮到磁碟任意目錄。這裡我解壓縮在f:\nginx-1.12.2
(3) 啟動服務: start nginx.exe
停止服務:nginx -s stop
# 重新載入設定:nginx -s reload
修改nginx.conf
#1.行程數與每個行程的最大連線數
############################################## location / {} :對什麼樣的後綴進行負載平衡請求,假如我們要對所有的aspx後綴的檔案進行負載平衡時,可以這樣寫:location ~.*\.aspx${}####### ######proxy_pass:請求轉向自訂的伺服器列表,這裡我們將請求都轉向標識為http://joannayan.com的負載平衡伺服器列表。 ############weight權重,權值越高被分配的幾率越大。可以根據機器配置定義權重(如果某台伺服器的硬體配置很好,可以處理更多的請求,那麼可以為其設置一個較高的weight;而有一台的伺服器的硬體配置比較差,那麼可以將前一台的weight配置為weight=2,後者差的配置為weight=1)。 ########################測試##########分別向兩台機器的tomcat伺服器部署testnginx.war這個web項目(為了區分存取的是不同的web伺服器,兩個機器中部署的testnginx這個項目在頁面顯示上略有不同)。 ######啟動啟動兩台機器上的tomcat,並啟動nginx.################訪問nginx:http://localhost/testnginx######## ########刷新,再訪問:###############由於權重的不同,在不斷刷新頁面的過程中,顯示「5.20伺服器」的可能性會大一些。 ###
以上是Nginx+Tomcat高效能負載平衡叢集怎麼搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!