小编joh*_*ohn的帖子

在 Centos 7 上使用 systemd 启动 Tomcat 8.5

我安装了Tomcat 8.5,我可以手动成功启动它,例如:

su tomcat startup.sh
Run Code Online (Sandbox Code Playgroud)

工作正常,tomcat 能够在端口 8080 上提供服务。

我需要自动启动,所以我创建了文件/etc/systemd/system/tomcat-prod.service:

[Unit]
Description=Tomcat 8.5 servlet container - Production
After=network.target

[Service]
Type=forking

ExecStart=/opt/appservers/production/apache-tomcat-8.5.37/bin/startup.sh
ExecStop=/opt/appservers/production/apache-tomcat-8.5.37/bin/shutdown.sh

User=tomcat
Group=tomcat   

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

该文件是故意裸露的,我所有的环境变量都在 setenv.sh 中。我尝试使用以下方法运行它:

# systemctl daemon-reload
# systemctl start tomcat-prod
Run Code Online (Sandbox Code Playgroud)

由于上述原因,Tomcat 在启动后立即退出。我在任何地方都没有得到任何解释原因的日志。Tomcat 在启动时创建一个空的 catalina.out 文件,并且 systemctl status tomcat-prod 仅提供以下内容:

tomcat-prod.service - Tomcat 8.5 servlet 容器 - 生产加载:已加载(/etc/systemd/system/tomcat-prod.service;启用;供应商预设:禁用)活动:自 2019 年星期五以来失败(结果:退出代码)- 01-04 08:08:27 UTC;3s前进程:3583 ExecStop=/opt/appservers/production/apache-tomcat-8.5.37/shutdown.sh (code=exited, status=203/EXEC) 进程:3569 ExecStart=/opt/appservers/production/apache- tomcat-8.5.37/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 3581 (code=exited, status=0/SUCCESS)

Jan 04 08:08:27 *.net startup.sh[3569]:启动期间发现现有 PID 文件。Jan 04 08:08:27 …

linux tomcat systemd centos-7

2
推荐指数
1
解决办法
6998
查看次数

标签 统计

centos-7 ×1

linux ×1

systemd ×1

tomcat ×1