Centos7.3_x86_64通过systemctl控制tomcat8..46启动和停止

之前在centos 6上通过脚本控制tomcat 启动和停止的脚本,虽然在centos 7也可以使用,但centos 7的守护进程已经由centos6的init更换为systemctl,因此可以通过systemctl控制tomcat的启动和停止,另外经测试通过systemctl启动和关闭tomcat非常成功,尤其是关闭tomcat,之前时候catalina.sh脚本关闭tomcat,会有无法关闭的情况,而使用了systemctl后可以确保百分百关闭成功,具体过程如下:

配置java环境变量
# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1..0_111
export PATH=$JAVA_HOME/bin:$PATH .编辑/etc/sudoers,目的为可以让普通用于远程没有tty的情况下重启tomcat: #Defaults requiretty #不需要tty
tomcat ALL=(ALL) NOPASSWD: /usr/bin/systemctl #tomcat用户使用sudo 执行systemctl命令不需要输入密码 .添加tomcat用户: # useradd tomcat -u #此用户用于后期启动tomcat,应用不要用root身份启动 .创建tomcat软连接: [root@node1 local]# ln -sv /usr/local/apache-tomcat-8.0. /usr/local/tomcat
‘/usr/local/tomcat’ -> ‘/usr/local/apache-tomcat-8.0.’ .编辑tomcat启动脚本tomcat.service文件
注意:文件中目录路径必须是绝对路径 # vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat8
After=syslog.target network.target remote-fs.target nss-lookup.target [Service]
Type=forking
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=tomcat
Group=tomcat [Install]
WantedBy=multi-user.target [unit]配置了服务的描述,规定了在network启动之后执行,
[service]配置服务的pid,服务的启动,停止,重启
[install]配置了使用用户 .编辑变量脚本/usr/local/tomcat/bin/setenv.sh # vim /usr/local/tomcat/bin/setenv.sh export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
#设置Tomcat的PID文件
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#添加JVM选项
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m" # chmod a+x /usr/local/tomcat/bin/setenv.sh .测试Tomcat.service服务 启动tomcat:
# su - tomcat
# sudo systemctl start tomcat [tomcat@node1 ~]$ systemctl status tomcat
● tomcat.service - Tomcat8
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (running) since Sun -- :: CST; 1min 52s ago
Process: ExecStop=/bin/kill -s QUIT $MAINPID (code=exited, status=/SUCCESS)
Process: ExecStart=/usr/local/tomcat/bin/startup.sh (code=exited, status=/SUCCESS)
Main PID: (java)
CGroup: /system.slice/tomcat.service
└─ /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMan.. 因为配置pid,在启动的时候会再tomcat根目录生成tomcat.pid文件,停止之后删除。 同时tomcat在启动时候,执行start不会启动两个tomcat,保证始终只有一个tomcat服务在运行。 多个tomcat可以配置在多个目录下,互不影响。

Centos7.3_x86_64通过systemctl控制tomcat8.0.46启动和停止的更多相关文章

  1. tomcat8.0部署启动

    http://tomcat.apache.org/download-80.cgi 打开命令行提示符窗口, 进入Tomcat安装目录, 进入bin目录下, 输入:service.bat install  ...

  2. 手把手教用C#编写Windows服务 并控制服务 安装、启动、停止、卸载

    Windows服务 Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动, ...

  3. 使用ansible控制Hadoop服务的启动和停止

    一.环境: 服务器一台,已安装centos7.5系统,做ansible服务器: 客户机三台:hadoop-master(192.168.1.18).hadoop-slave1(192.168.1.19 ...

  4. 通过命令窗口控制mysql服务的启动与停止

    mysql服务的启动: 以管理员的身份运行cmd命令窗口,输入命名 net start mysql 如果不是以管理员的身份运行cmd,会提示如下错误 mysql服务的停止: 以管理员的身份运行cmd命 ...

  5. centos7中启动tomcat提示bash: tomcat8.0.39/bin/startup.sh: 权限不够

    问题描述: centos7中启动tomcat提示bash: tomcat8.0.39/bin/startup.sh: 权限不够 解决方案:先进入bin目录 [root@localhost/]# cd ...

  6. centos7.6环境jenkins升级到tomcat8.0.53和jenkins2.168版本

    Jenkins服务器:192.168.10.175数据备份服务器:192.168.10.164 jenkins服务器报错不能访问,插件无法加载就不能正常获取代码,重启尝试解决无果,于是采用 如下方案: ...

  7. 在CentOS7上使用systemctl配置tomcat

    最近买了一台阿里云,现在阿里云CentOS都已经支持7了(前面都是使用CentOS6),索性直接使用CentOS7,7上面目前最大区别就是service变成了现在的systemctl,简单的查了一下并 ...

  8. Centos7下的systemctl命令与service和chkconfig

    博主使用的操作系统是最新的CentOS 7,所以可能和网上一些老的博文有一定出入,那是因为版本更新的原因. 这里写图片描述1 service service命令用于对系统服务进行管理,比如启动(sta ...

  9. CentOS7安装MySQL5.7及Tomcat8.5

    在CentOS7服务器上部署FR项目应用 一.安装CentOS-7_x86_64 1.CentOS7:带GUI的服务器(FTP服务器.JAVA平台.兼容性程序库.开发工具.安全性工具.系统管理工具): ...

随机推荐

  1. 在js或jquery中动态添加js脚本【转】

    起因: 我们在用js动态写入script时,会导致</script>后面的所有语句都变为普通文本,导致html展示无效, 所以我们需要规避</script>问题. 解决方案一( ...

  2. Win10升级.NET Framework 3.5或2.0遇到错误0x800f081f怎么办

    为了让win10系统更好地运行游戏,很多玩家都会在电脑中安装.NET Framework 3.5或.NET Framework 2.0.不过,部分用户在更新升级.NET Framework 3.5和2 ...

  3. ava.io.InputStream & java.io.FileInputStream

    java.io.InputStream & java.io.FileInputStream java.io.InputStream,这个抽象类是表示字节输入流的超类,这个抽象类的共性的方法有: ...

  4. 网易PM599产品笔试题

    前几天做了网易PM599的云计算领域产培生的笔试题目,下面整理了一下各个方向的笔试题和我对这些题目的解答. 云计算领域: 1.对工业互联网的理解,结合自身优势谈谈自己应该怎么去创业. 工业互联网是一次 ...

  5. electron-vue:Vue.js 开发 Electron 桌面应用

    相信很多同学都知道 Electron 可以帮助开发人员使用前端技术开发桌面客户端应用,今天介绍的 electron-vue 框架是一套基于 Vue.js 开发 Electron 桌面应用的脚手架,该项 ...

  6. 001_twoSum

    #####solution01##### # def twoSum(nums, target): # res=[] # for i in range(0,len(nums)-1): # p1 = nu ...

  7. 牛客寒假训练营3 B 处女座的比赛资格(拓扑排序+最短路)

    题目链接 这个题,一眼看上去就是最短路的题,边权有负环显然不能用dij,然后出题人又卡了spfa,,那怎么办的想点办法啊,好像还有一个拓扑排序可以求最短路吧,这时候正解就已经得到了,就是拓扑排序求最短 ...

  8. Luogu P3700「CQOI2017」小Q的表格

    为什么我连分块都想不到啊... 题意 定义一个矩阵$f$满足 $ f(a,b)=f(b,a)$ $ b·f(a,a+b)=(a+b)·f(a,b)$ 初始$ f(a,b)=ab$ 有$ m$次修改,每 ...

  9. .netcore 写日志(使用NLog,log4net)

    参考地址: NLog:http://www.cnblogs.com/linezero/p/Logging.html Log4Net:http://www.cnblogs.com/linezero/p/ ...

  10. Python 爬虫四 基础案例-自动登陆github

    GET&POST请求一般格式 爬取Github数据 GET&POST请求一般格式 很久之前在讲web框架的时候,曾经提到过一句话,在网络编程中“万物皆socket”.任何的网络通信归根 ...