nginx配置多個tomcat負載均衡

nginx, tomcat的下載安裝就很少說了
nginx(1.15.x): http://nginx.org/en/download....
tomcat(8.5.x): https://tomcat.apache.org/dow...

不會安裝nginx請個人另外一個文章:Centos 7 安裝Nginx-yum方式html

1. 配置多個tomcat

這裏介紹是一臺服務器配置多個tomcat,更改端口的方法。若是是多臺服務器各配一個tomcat,那能夠直接使用默認的配置。linux

1.1 複製多個

複製多個tomcat。假定下載解壓後的tomcat爲apache-tomcat-8.5.8,建議複製並更更名稱爲.nginx

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

在linux不會複製?查一下cp命令的使用web

1.2 配置端口

修改每一個tomcat裏面的配置文件。如apache-tomcat-8.5.8-9081/conf/server.xml,修改 3個地方 的端口號。
8443端口,如有須要再進行修改。apache

apache-tomcat-8.5.8-9081vim

<?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-9082segmentfault

<?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同理運行。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{
        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的內容。

相關文章
相關標籤/搜索