之前有粉丝私信说想要学习一下如何在CentOS中配置Tomcat自动启动,如今排期已到,安排~
一、前置环境
1. JDK
Tomcat的运行需要JDK环境,不同版本的Tomcat需要对应不同版本的JDK,以目前的版本来说,基本使用JDK 8就可以满足所有版本的需要。如果需要详细查看版本对应表,可以查看Tomcat官网的whichversion。
解压安装步骤可以参考:JDK的解压安装 - CentOS(结尾附视频)。
2. Tomcat
目前Tomcat的最新版本为10.1,8.5版本基本已经可以满足绝大部分开发,也是一个比较稳定的版本。各版本的配置方式几乎无差别,本文以Tomcat 9为例。
解压安装步骤可以参考:JDK的解压安装 - CentOS(结尾附视频)。
二、配置开机启动
1. 方法一:修改开机脚本
CentOS系统启动时会执行**/etc/rc.d/rc.local**,这个方法也是一个比较通用的方法,我们可以将想要执行的命令写在这个文件中,需要注意的是要预先指定环境变量(设置在/etc/profile中的环境变量此时不会读取)。
我们可以预先写一个脚本,把所有需要用到的配置和执行的内容全部写进去,然后在rc.local中直接执行这个脚本。
- 新建boot-startup.sh
可以把这个文件放在任意目录,但需要有执行权限。
export JAVA_HOME=/opt/jdk1.8.0_301 export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export CATALINA_HOME=/opt/apache-tomcat-9.0.56 /opt/apache-tomcat-9.0.56/bin/catalina.sh start
- 修改/etc/rc.d/rc.local
重要
:在CentOS 7系统中需要给**/etc/rc.d/rc.local**添加执行权限(/etc/rc.local只是链接文件)。
/opt/apache-tomcat-9.0.56/bin/boot-startup.sh
配置时只需要将家目录设置为自己的安装目录即可。
2. 方法二:添加系统服务
这一方法将Tomcat添加到系统服务中,可以通过服务管理命令进行控制,也可以比较方便的设置开机自动启动。
- 新建setenv.sh
在Tomcat的bin目录下新建setenv.sh文件,其中需要设置tomcat的pid文件存放路径。
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
- 修改catalina.sh
在文件中配置JAVA_HOME和JRE_HOME,放在注释结束后,较为靠前的部分。
export JAVA_HOME=/opt/jdk1.8.0_301 export JRE_HOME=/opt/jdk1.8.0_301/jre
- 添加tomcat.service
在**/usr/lib/systemd/system下新建tomcat.service**文件,内容如下:
[Unit] Description=Tomcat After=network.target remote-fs.target nss-lookup.target [Service] Type=forking TimeoutSec=0 PIDFile=/opt/apache-tomcat-9.0.56/tomcat.pid ExecStart=/opt/apache-tomcat-9.0.56/bin/startup.sh ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target
将PIDFile和ExecStart分别设置为pid文件所在位置和启动脚本路径即可。
- 添加至开机启动项
systemctl enable tomcat.service
- 重启后验证
在访问测试时注意关闭防火墙或开放对应的端口(默认8080)。
三、视频直达
视频地址:https://www.bilibili.com/video/BV1VM4y1w7uj/,喜欢的小伙伴儿一定要三连加关注哦~
Tomcat设置开机启动 - CentOS
写在结尾:作者力求做到将每个知识点细化,并且对于有关联的知识点都会使用传送门挂载链接。文章采用:“文字 + 配图 + 视频”的方式来进行展现,均是挤时间所作,希望看到这里能留下评论点个赞,略表支持!