轉載請註明出處:http://www.cnblogs.com/Joanna-Yan/p/8745794.html Nginx是一個高性能的HTTP伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。其占有記憶體少,併發能力強,在同類型的網頁伺服器中表現較好。Nginx可以在大多數Unix ...
轉載請註明出處:http://www.cnblogs.com/Joanna-Yan/p/8745794.html
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.進程數與每個進程的最大連接數
- nginx進程數,建議設置為等於CPU總核心數
- 單個進程最大連接數。那麼該伺服器的最大連接數=連接數*進程數
2.Nginx的基本配置
- 監聽埠一般都為http埠:80
- 功能變數名稱可以有多個,用空格隔開。例如server_name www.sohu.com baidu,com
3.負載均衡列表基本配置
- 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伺服器”的可能性會大一些。
如果此文對您有幫助,微信打賞我一下吧~