首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在redhat中启动tomcat作为服务

问无法在redhat中启动tomcat作为服务
EN

Stack Overflow用户
提问于 2017-02-20 18:30:31
回答 2查看 3.9K关注 0票数 2

我刚接触Linux,但我花了一整天的时间安装Java和Tomcat。我的目标是用这个Linux机器托管一个应用程序。我知道它在我的基于windows的机器上运行得很好,但它是我的笔记本电脑,所以我计划使用Linux Box作为我的专用服务器。

I am following this tutorial .在本教程中,我执行了以下命令:

代码语言:javascript
复制
cd /etc/init.d 
vi tomcat 
#!/bin/bash  
# description: Tomcat Start Stop Restart  
# processname: tomcat  
# chkconfig: 234 20 80  
JAVA_HOME=/usr/java/jdk1.7.0_05  
export JAVA_HOME  
PATH=$JAVA_HOME/bin:$PATH  
export PATH  
CATALINA_HOME=/usr/share/apache-tomcat-7.0.29  

case $1 in  
start)  
sh $CATALINA_HOME/bin/startup.sh  
;;   
stop)     
sh $CATALINA_HOME/bin/shutdown.sh  
;;   
restart)  
sh $CATALINA_HOME/bin/shutdown.sh  
sh $CATALINA_HOME/bin/startup.sh  
;;   
esac      
exit 0  
chmod 755 tomcat
chkconfig --add tomcat 
chkconfig --level 234 tomcat on 
chkconfig --list tomcat 
service tomcat start  

执行此命令后,tomcat将在端口8082处启动。但是,当我重新启动pc时,tomcat不会随着PC的启动而启动。

我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2017-02-20 18:36:51

由于您使用的是Red,因此您可以使用systemd提供服务。

创建文件/etc/systemd/system/tomcat.service

代码语言:javascript
复制
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/java/jdk1.7.0_05
Environment=CATALINA_PID=/usr/share/apache-tomcat-7.0.29/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/share/apache-tomcat-7.0.29
Environment=CATALINA_BASE=/usr/share/apache-tomcat-7.0.29
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Duser.timezone=UTC -Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/usr/share/apache-tomcat-7.0.29/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

我指定脚本在启用syslog和network之后启动。正如我们所看到的,systemd将tomcat作为守护进程来处理,并杀死PID。对于User和Group,我们指定运行进程的用户和组。

Systemd将处理upstart进程,并使用PID终止它。

要使其运行,请执行以下命令:

代码语言:javascript
复制
systemctl enable tomcat
systemctl start tomcat
票数 1
EN

Stack Overflow用户

发布于 2017-02-20 18:35:47

请尝试使用以下命令:

代码语言:javascript
复制
sudo systemctl enable tomcat
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42342149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档