Tomcat下載.tar.gz在Linux上解壓就可以用,不用像安裝nginx那樣,還需要編譯,比較方便
一、配置catalina.sh文件
JAVA_OPTS="-Xms256M -Xmx256M -Xloggc:/mnt/tomcat/gclog/gc.$$.log"
export JAVA_HOME=/mnt/java/jdk1.8.0_251
export JRE_HOME=/mnt/java/jdk1.8.0_251/jre
二、配置 tomcat-users.xml
<user username="admin" password="admin" roles="manager-gui" />
<role rolename="manager-script"/>
<user username="jenkins" password="jenkins" roles="manager-script"/>
將上面的用戶和角色信息,配置到 tomcat-users 節點內,admin是用來登陸的,jenkins是方便jenkins部署使用的
三、配置 context.xml
此文件在 webapps/manager/META-INF 目錄下,註釋下面這行代碼,否則只能在本地登陸tomcat的管理頁面,這是Tomcat8.5的限制,前面的版本,不用這樣設置
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
四、配置 server.xml
一般來說這個文件是用來調優Tomcat的,比如使用線程池,修改端口什麼的,我們這些都不改了,只把 ajp 協議禁止掉,用不上
<!-- Define an AJP 1.3 Connector on port 8009 -->
如果一臺機器部署多個Tomcat那麼需要修改以下三個地方的端口,當然有條件最好是一臺機器一上Tomcat
4.1 <Server port="8006" shutdown="SHUTDOWN">
4.2 <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
4.3 <Define an AJP 1.3 Connector on port 8009>
五、加入開機啓動
我們使用兩個Tomcat節點,以t1 和 t2命名,進入systemctl的服務配置目錄
cd /usr/lib/systemd/system
t1節點:
vi t1.service
[Unit]
Description=Tomcat T1節點
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/mnt/tomcat/t1/bin/startup.sh
ExecStop=/mnt/tomcat/t1/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
t2節點:
vi t2.service
[Unit]
Description=Tomcat T2節點
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=oneshot
ExecStart=/mnt/tomcat/t2/bin/startup.sh
ExecStop=/mnt/tomcat/t2/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
六、啓動命令(請求 tomcat 服務名換成操作的服務名稱)
systemctl enable tomcat #設置開機啓動
systemctl disable tomcat #關閉開機自啓
systemctl status tomcat #查看當前tomcat的狀態:
systemctl stop tomcat #啓動 tomcat:
systemctl stop tomcat #停止tomcat:
systemctl daemon-reload #更新服務的配置文件