分享

CentOS7 安装tomcat7.x为系统服务器 Systemctl管理Tomcat

 昵称597197 2017-10-19

本文转载:http://blog./uid-24648266-id-5729891.html


CentOS7开始,从/etc/init.d脚本改为了systemctl管理服务。

亲自测试成功。


1.首先,需要为tomcat配置pid。

bin/catalina.sh
[java] view plain copy
  1. # Copy CATALINA_BASE from CATALINA_HOME if not already set  
  2. [ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"  
  3. # 设置pid。一定要加在CATALINA_BASE定义后面,要不然pid会生成到/下面  
  4. CATALINA_PID="$CATALINA_BASE/tomcat.pid"  

tomcat.pid文件与bin目录平级。

2.创建tomcat.service文件

/lib/systemd/system/tomcat.service 
[java] view plain copy
  1. [Unit]  
  2. Description=Tomcat  
  3. After=syslog.target network.target remote-fs.target nss-lookup.target  
  4.   
  5. [Service]  
  6. Type=forking  
  7.   
  8. Environment="JAVA_HOME=/home/jdk/jdk1.7.0_79"  
  9.   
  10. PIDFile=/home/tomcat/apache-tomcat-7.0.47/tomcat.pid  
  11. ExecStart=/home/tomcat/apache-tomcat-7.0.47/bin/startup.sh  
  12. ExecReload=/bin/kill -s HUP $MAINPID  
  13. ExecStop=/bin/kill -s QUIT $MAINPID  
  14. PrivateTmp=true  
  15.   
  16. [Install]  
  17. WantedBy=multi-user.target  

Environment="JAVA_HOME=/home/jdk/jdk1.7.0_79" 这里要配置环境变量,在/etc/profile中的配置在系统服务中不生效。

3.设置为开机启动

[java] view plain copy
  1. systemctl enable tomcat.service    

4.其它

修改tomcat.service文件后需要执行下面命令使其生效:
systemctl daemon-reload
查询tomcat 进程  ps -ef | grep "tomcat"| grep -v grep
如果多个tomcat,则拷贝到不同的目录,使用不同的端口。tomcat.service文件名不同即可。
例如:tomcat1.service tomcat2.service tomcat3.service


启动nginx服务

systemctl start nginx.service

设置开机自启动

systemctl enable nginx.service

停止开机自启动

systemctl disable nginx.service

查看服务当前状态

systemctl status nginx.service

重新启动服务

systemctl restart nginx.service

查看所有已启动的服务

systemctl list-units --type=service

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多