Java Can';t在redhat中启动tomcat作为服务

Java Can';t在redhat中启动tomcat作为服务,java,linux,tomcat,service,Java,Linux,Tomcat,Service,我是Linux新手,但花了一整天的时间安装了Java和Tomcat。我的目标是用这个Linux设备来托管一个应用程序。我知道在我基于windows的机器上一切都很好,但它是我的笔记本电脑,所以我计划使用Linux机箱作为我的专用服务器 在本教程中,我执行了以下命令: cd /etc/init.d vi tomcat #!/bin/bash # description: Tomcat Start Stop Restart # processname: tomcat # chkcon

我是Linux新手,但花了一整天的时间安装了Java和Tomcat。我的目标是用这个Linux设备来托管一个应用程序。我知道在我基于windows的机器上一切都很好,但它是我的笔记本电脑,所以我计划使用Linux机箱作为我的专用服务器

在本教程中,我执行了以下命令:

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处启动。但是当我重新启动电脑时,tomcat并没有随着电脑的启动而启动


我该怎么做

尝试改用此命令:

sudo systemctl enable tomcat

由于您使用的是Red Hat,因此可以使用
systemd
进行服务

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

[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终止它

要使其运行,请执行以下操作:

systemctl enable tomcat
systemctl start tomcat

请告诉我的脚本/过程中有什么错误。请尝试chkconfig sudo/sbin/chkconfig--add tomcat sudo/sbin/chkconfig--list tomcat sudo/sbin/chkconfig tomcat onNote:将请求转发到“systemctl enable tomcat.service”。未能发出方法调用:错误消息