nginx [engine x]是一個HTTP和反向代理服務器,一個郵件代理服務器和一個通用的TCP/UDP代理服務器,最初由Igor Sysoev編寫。html
環境:java
Ubuntu16.04nginx
安裝nginx須要的庫:pcre,zlib,openssl正則表達式
1 sudo apt-get install libpcre3 libpcre3-dev #perl 5的庫,支持正則表達式 2 3 sudo apt-get install zlib1g-dev #使支持對http包進行gzip壓縮 4 5 sudo apt-get install openssl libssl-dev #使支持https
接着,解壓縮nginx源碼包,進行三部曲:./configure ----》make ----》sudo make installspring
啓動nginx:cd /usr/local/nginx/sbin ----》sudo ./nginx (默認配置文件:/usr/local/nignx/conf,能夠指定配置文件啓動:-c filelocation)瀏覽器
查看nginx:ps aux | grep nginxtomcat
中止nginx:sudo ./nginx -s quit服務器
修改配置文件後從新加載:sudo ./nginx -s reloadmybatis
瀏覽器訪問:ip:80app
應用:
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集羣實現負載均衡,參考博客http://www.javashuo.com/article/p-fjsonjgp-bt.html
主要配置點:
一、修改tomcat 的三處端口
二、nginx的配置
三、複製兩份tomcat
note:
v1.1
增長了 nginx與tomcat集羣實現負載均衡