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叢集實現負載均衡