nginx [engine x]是一個HTTP和反向代理伺服器,一個郵件代理伺服器和一個通用的TCP/UDP代理伺服器,最初由Igor Sysoev編寫。
環境:
Ubuntu16.04
安裝nginx需要的庫:pcre,zlib,openssl
sudo apt-get install libpcre3 libpcre3-dev #perl 5的庫,支援正則表示式 sudo apt-get install zlib1g-dev #使支援對http包進行gzip壓縮 sudo apt-get install openssl libssl-dev #使支援https
接著,解壓縮nginx原始碼包,進行三部曲:./configure ----》make ----》sudo make install
啟動nginx:cd /usr/local/nginx/sbin ----》sudo ./nginx (預設配置檔案:/usr/local/nignx/conf,可以指定配置檔案啟動:-c filelocation)
檢視nginx:ps aux | grep nginx
停止nginx:sudo ./nginx -s quit
修改配置檔案後重新載入:sudo ./nginx -s reload
瀏覽器訪問:ip:80
應用:
1 server { 2 listen 80; 3 server_name localhost; 4 5 location / { 6 #將請求與我們定義的伺服器進行對映 7 proxy_pass http://localhost:8080/loginForm; //分號不能少 8 #root html; 9 #index index.html index.htm; 10 } 11 12 error_page 500 502 503 504 /50x.html; 13 location = /50x.html { 14 root html; 15 } 16 17 18 }
瀏覽器輸入:http://localhost/ ----> http://localhost:8080/loginForm
這樣就實現了反向代理。
備註:測試專案使用spring boot+mybatis
1 # server外部使用關鍵字upstream 定義伺服器叢集,伺服器叢集名字取為test 2 upstream test{ 3 server localhost:8080; 4 server localhost:8081; 5 } 6 7 server { 8 listen 80; 9 server_name localhost; 10 11 location / { 12 13 #將定向的路徑對映到伺服器叢集上 14 proxy_pass http://test/loginForm; 15 16 #root html; 17 #index index.html index.htm; 18 } 19 20 error_page 500 502 503 504 /50x.html; 21 location = /50x.html { 22 root html; 23 } 24 25 }
瀏覽器輸入(交替輸入):http://localhost/ ----> http://localhost:8080/loginForm 或者 http://localhost:8081/loginForm
這樣就實現了負載均衡。
備註:測試專案使用spring boot+mybatis(專案是一樣的,改動appliaction.properties,將埠號改為server.port= 8081 )
nginx與tomcat叢集實現負載均衡,參考部落格https://www.cnblogs.com/gcjava/p/6601293.html
主要配置點:
1、修改tomcat 的三處埠
2、nginx的配置
3、複製兩份tomcat
note:
v1.1
增加了 nginx與tomcat叢集實現負載均衡