在 CentOS 上自定义 Tomcat 启动脚本,可以通过修改 Tomcat 的 catalina.sh
脚本或创建一个 systemd 服务单元文件来实现。以下是两种方法的详细步骤:
catalina.sh
脚本找到 catalina.sh
脚本:
通常位于 Tomcat 安装目录的 bin
文件夹下,例如 /opt/tomcat/bin/catalina.sh
。
编辑 catalina.sh
脚本:
使用你喜欢的文本编辑器打开 catalina.sh
文件,例如:
sudo vi /opt/tomcat/bin/catalina.sh
添加自定义命令:
在 catalina.sh
脚本中,你可以添加自定义的命令来在 Tomcat 启动或停止时执行。例如,你可以在启动 Tomcat 之前或之后执行一些脚本:
# 在启动 Tomcat 之前执行的命令
/path/to/your/script/before_start.sh
# 启动 Tomcat
"$PRGDIR"/"$EXECUTABLE" start "$@"
# 在启动 Tomcat 之后执行的命令
/path/to/your/script/after_start.sh
保存并退出编辑器。
创建 systemd 服务单元文件:
在 /etc/systemd/system/
目录下创建一个新的服务单元文件,例如 tomcat.service
:
sudo vi /etc/systemd/system/tomcat.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/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
重新加载 systemd 配置: 使 systemd 重新加载配置文件,以便识别新的服务单元文件:
sudo systemctl daemon-reload
启动并启用服务: 启动 Tomcat 服务并设置为开机自启:
sudo systemctl start tomcat
sudo systemctl enable tomcat
检查服务状态: 检查 Tomcat 服务的状态,确保其正常运行:
sudo systemctl status tomcat
通过以上两种方法,你可以在 CentOS 上自定义 Tomcat 的启动脚本。选择哪种方法取决于你的具体需求和偏好。