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 #更新服务的配置文件