天天看點

nginx配置多個tomcat負載均衡1. 配置多個tomcat2. 配置Nginx

nginx, tomcat的下載下傳安裝就不多說了

nginx(1.15.x): http://nginx.org/en/download.html

tomcat(8.5.x): https://tomcat.apache.org/download-80.cgi

不會安裝nginx請我的另一個文章:Centos 7 安裝Nginx-yum方式

1. 配置多個tomcat

這裡介紹是一台伺服器配置多個tomcat,更改端口的方法。如果是多台伺服器各配一個tomcat,那可以直接使用預設的配置。

1.1 複制多個

複制多個tomcat。假定下載下傳解壓後的tomcat為apache-tomcat-8.5.8,建議複制并更改名稱為.

  • apache-tomcat-8.5.8-9081
  • apache-tomcat-8.5.8-9082
  • apache-tomcat-8.5.8-9083

在linux不會複制?查一下

cp

指令的使用

1.2 配置端口

修改每個tomcat裡面的配置檔案。如apache-tomcat-8.5.8-9081/conf/server.xml,修改 3個地方 的端口号。

8443端口,若有需要再進行修改。

apache-tomcat-8.5.8-9081

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 預設8005改成8006 -->
<Server port="8006" shutdown="SHUTDOWN">
    <!-- 2 Http預設8080 改成9081 -->
    <Connector port="9081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP預設8009 改成8010 -->         
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />        

           

apache-tomcat-8.5.8-9082

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 預設8005改成8007 -->
<Server port="8007" shutdown="SHUTDOWN">
    <!-- 2 Http預設8080 改成9082 -->
    <Connector port="9082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP預設8009 改成8011 -->         
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />        

           

apache-tomcat-8.5.8-9083

<?xml version="1.0" encoding="UTF-8"?>

<!-- 1 預設8005改成8008 -->
<Server port="8008" shutdown="SHUTDOWN">
    <!-- 2 Http預設8080 改成9083 -->
    <Connector port="9083" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
     <!-- 3 AJP預設8009 改成8011 -->         
    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />        

           

1.3 運作3個tomcat

# 進入tomcat目錄
cd /相對路徑/apache-tomcat-8.5.8-9081
# 運作tomcat
/bin/startup.sh

           

其他2個tomcat同理運作。

運作成功後,可以試通路浏覽器來測試(測試時建議完成步驟1.4),通路位址記得加上對應的端口号。

如果伺服器在阿裡雲 騰訊雲的服務商,記得開啟防火牆和設定安全組的政策

也可以配置完nginx再進行測試。因為不需要配置端口(9081/9082/9083)的防火牆和設定安全組的政策,由于通過nginx進行反向代理了,預設使用80端口

1.4 修改預設的頁面(可選)

由于3個tomcat的預設界面是一樣的,是以最好修改的預設界面資訊,以便能差別目前通路的是哪個tomcat。

cd /相對路徑/apache-tomcat-8.5.8-9081/webapps/ROOT/index.jsp

# 在index.jsp <body>标簽加上标記資訊:<h1>我是tomcat-9081</h1>
# apache-tomcat-8.5.8-8082和apache-tomcat-8.5.8-9083同理
           

2. 配置Nginx

2.1 修改conf

進入nginx目錄,通常在

/usr/local/nginx/conf

(若沒有,那你要看看自己安裝去哪了,- _ -! )

編輯nginx.conf檔案

vi nginx.conf

           
# 按下面進行增加和編輯,完成後 :wq 儲存。不會使用 vi/ vim。你應該上網搜搜。

http {
    # 省略代碼....
   
    # 增加  upstream, 名稱為 serverlist
    upstream serverlist{
        # ip_hash; # 實作同一使用者通路同一伺服器
        server localhost:9081 weight=1;  # weigh表示權重,越大通路的機率越多
        server localhost:9082 weight=1;
        server localhost:9083 weight=1;
    }
    
    # 編輯
    server {
        listen       80;
        server_name  www.yourdomian.com;

        location / {
            # 這裡使用定義 serverlist
            proxy_pass http://serverlist;
        }
       
           

2.2 重新開機nginx

/usr/local/nginx/sbin/nginx -s reload

# yum安裝的nginx, 你也可以使用 systemctl reload nginx 進行重新開機
           

現在就可以通過你的域名進行通路了。多次重新整理就可以看到網站顯示是哪個tomcat的内容。

覺得本文有用,請在下面賞我一個《贊》

nginx配置多個tomcat負載均衡1. 配置多個tomcat2. 配置Nginx

繼續閱讀