Linux Tomcat无法在centos7.2上使用systemctl启动 CentOS7.2 Tomcat9 JDK8

Linux Tomcat无法在centos7.2上使用systemctl启动 CentOS7.2 Tomcat9 JDK8,linux,tomcat,Linux,Tomcat,我已经在evn中设置了JAVA\u HOME,并在cammand行中运行catalina.sh run,tomcat启动成功。但是我使用systemctl启动tomcat.service我得到一个错误 11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ systemd[1]: Starting tomcat... 11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ startup.sh[1058]: Neither the JAVA

我已经在evn中设置了
JAVA\u HOME
,并在cammand行中运行
catalina.sh run
,tomcat启动成功。但是我使用
systemctl启动tomcat.service
我得到一个错误

11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ systemd[1]: Starting tomcat...
11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ startup.sh[1058]: Neither the     JAVA_HOME nor the JRE_HOME environment variable is defined
11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ startup.sh[1058]: At least one of these environment variable is needed to run this program
11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ systemd[1]: tomcat.service: main process exited, code=exited, status=1/FAILURE
11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ systemd[1]: Failed to start tomcat.
11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ systemd[1]: Unit tomcat.service entered failed state.
11月 04 22:13:02 iZwz90squb7zj67pw5hyizZ systemd[1]: tomcat.service failed.
这是我的
tomcat.service

[Unit]
Description=tomcat
After=network.target

[Service]
Type=oneshot
Environment=CATALINA_PID=/var/run/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReload=/usr/bin/kill -s HUP $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

tomcat.Service
文件的
Service
部分添加
JAVA\u HOME
JRE\u HOME
环境变量

Systemd不会使用shell实例的环境变量,因此需要将它们添加到配置中

例如:

[Unit]
Description=tomcat
After=network.target

[Service]
Type=oneshot
Environment=JAVA_HOME=/path/to/jre
Environment=CATALINA_PID=/var/run/tomcat.pid
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReload=/usr/bin/kill -s HUP $MAINPID
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

您需要运行
systemctl daemon reload
来加载服务文件的更新。您可以使用
systemctl cat tomcat.service
验证单元文件是否具有您所做的更改

Environment=JAVA\u HOME=/usr/local/JAVA/jdk1.8/jre
Environment=JAVA\u HOME=/usr/local/JAVA/jdk1.8
您收到的是相同的错误消息还是不同的错误消息?我想您可能需要运行
systemctl daemon reload
来加载服务文件的更新。您可以使用
systemctl cat tomcat.service
验证单位文件是否具有您所做的更改。另外,从您之前的评论来看,我认为
Environment=JAVA\u HOME=/usr/local/JAVA/jdk1.8
是正确的值,而不是另一个值。嗨,我也有同样的问题,我做了这个解决方案,但不起作用。请帮帮我