溫馨提示×

如何在CentOS上部署多個Tomcat實例

小樊
74
2025-03-21 16:23:51
欄目: 智能運維

在CentOS上部署多個Tomcat實例可以通過以下步驟實現。每個實例將運行在不同的端口上,并且可以有不同的配置文件和應用程序。以下是一個基本的指南:

1. 下載并解壓Tomcat

首先,下載你需要的Tomcat版本并解壓到不同的目錄。

wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
tar -xzvf apache-tomcat-9.0.56.tar.gz -C /opt

重復上述步驟下載并解壓其他版本的Tomcat到不同的目錄,例如:

tar -xzvf apache-tomcat-9.0.56.tar.gz -C /opt/tomcat8

2. 配置環境變量

為每個Tomcat實例設置不同的環境變量。

export CATALINA_HOME=/opt/tomcat9
export PATH=$CATALINA_HOME/bin:$PATH

對于第二個Tomcat實例:

export CATALINA_HOME=/opt/tomcat8
export PATH=$CATALINA_HOME/bin:$PATH

3. 配置端口

編輯每個Tomcat實例的conf/server.xml文件,確保它們使用不同的端口。

Tomcat 9

編輯/opt/tomcat9/conf/server.xml

<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
  </Service>
</Server>

Tomcat 8

編輯/opt/tomcat8/conf/server.xml

<Server port="8105" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8444" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      </Host>
    </Engine>
  </Service>
</Server>

4. 配置管理用戶

編輯每個Tomcat實例的conf/tomcat-users.xml文件,添加管理用戶。

<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
</tomcat-users>

5. 啟動Tomcat實例

使用以下命令啟動每個Tomcat實例:

Tomcat 9

/opt/tomcat9/bin/startup.sh

Tomcat 8

/opt/tomcat8/bin/startup.sh

6. 驗證部署

打開瀏覽器并訪問以下URL以驗證每個Tomcat實例是否正常運行:

  • Tomcat 9: http://your_server_ip:8080
  • Tomcat 8: http://your_server_ip:8081

7. 配置防火墻

確保防火墻允許訪問這些端口。

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --permanent --zone=public --add-port=8081/tcp
sudo firewall-cmd --reload

8. 使用systemd管理Tomcat服務(可選)

你可以創建systemd服務文件來管理Tomcat實例。

Tomcat 9

創建/etc/systemd/system/tomcat9.service

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk
Environment=CATALINA_PID=/opt/tomcat9/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat9
Environment=CATALINA_BASE=/opt/tomcat9
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

創建/etc/systemd/system/tomcat8.service

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk
Environment=CATALINA_PID=/opt/tomcat8/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat8
Environment=CATALINA_BASE=/opt/tomcat8
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat8/bin/startup.sh
ExecStop=/opt/tomcat8/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

啟動并啟用服務:

sudo systemctl daemon-reload
sudo systemctl start tomcat9
sudo systemctl enable tomcat9
sudo systemctl start tomcat8
sudo systemctl enable tomcat8

通過以上步驟,你可以在CentOS上成功部署多個Tomcat實例。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女