理论知识怱略,马上开始实战

一、首先准备好tomcat 启动、关闭、重启Shell脚本:

以下Shell脚本主要修改值

tomcatPath:tomcat目录

runUser:以哪个身份运行

此处测试的Shell脚本存放地址如下:

mkdir /usr/local/apache-tomcat-7.0./sbin/
vi /usr/local/apache-tomcat-7.0./sbin/tomcat-server
#复制tomcat-server的代码 chmod +x /usr/local/apache-tomcat-7.0.94/sbin/tomcat-server 
#!/bin/bash
#Authtor : suk
#Date :
#Email : @qq.com . /etc/init.d/functions #Result Code
RETVAL= #Tomcat Pid
TomcatPid=null #Tomcat Home
tomcatPath=/usr/local/application/apache-tomcat-7.0. runUser='tomcat' getTomcatPid()
{
TomcatPid=$(ps -ef | grep java |grep tomcat | grep -w $tomcatPath | grep -v 'grep ' | awk '{print $2}') } checkTocamtPid()
{
getTomcatPid
if [ -n "$TomcatPid" ];
then
#run
RETVAL=
else
#no run
RETVAL=
fi
} start()
{
checkTocamtPid
if [ $RETVAL -eq ];
then
getTomcatPid
action "Tomcat Already Running Pid:【$TomcatPid】" /bin/false
exit $RETVAL
else
/bin/sudo su - $runUser $tomcatPath/bin/startup.sh
getTomcatPid
action "Start Tomcat Success Pid:【$TomcatPid】" /bin/true
fi
} restart()
{
checkTocamtPid
if [ $RETVAL -eq ];
then
stop
sleep
fi
start
} stop()
{
checkTocamtPid if [ $RETVAL -eq ];
then
getTomcatPid
/bin/kill - $TomcatPid
action "Stop Tomcat PID:【$TomcatPid】" /bin/true
else
action "Tomcat Status No Running" /bin/false
fi
} #Check Tomcat Status
status()
{
checkTocamtPid
[ $RETVAL -eq ] && echo "Tomcat is Running Pid:【$TomcatPid】" || echo "No Tomcat Running"
} #Check Tomcat Start Logs
logs(){
logsPath=$tomcatPath/logs/catalina.out
if [ ! -f $logsPath ];then
echo "$logsPath Not Eixts"
else
/usr/bin/tail -f $logsPath
exit $RETVAL
fi
} case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
logs)
logs
;;
*)
echo $"Usage: $0 {start|stop|restart|status|logs}"
esac

tomcat-server

二、创建运行用户,这里以用户名:tomcat 为例

useradd tomcat

三、把tomcat目录权授

chown -R tomcat.tomcat /usr/local/apache-tomcat-7.0.

注意:

  程序用到的所有目录都需要授权给该用户,否则会报权限不足,导致执行失败,执行命令同上

四、开始编写systemctl启动的配置文件

vi /lib/systemd/system/tomcat.service

[Unit]
Description=Tomcat server daemon
Documentation=/data/application/apache-tomcat-8.5.
#注意:一般tomcat服务都是在数据库或redis等启动之后,再运行,确保数据库或redis有制作systemctl,在配置到After,mysql.service redisd.service名字是编写systemctl时的文件名
After=network.target mysql.service redisd.service [Service]
Type=forking
PIDFile=/usr/local/apache-tomcat-7.0./tomcat.pid
ExecStart=/usr/local/apache-tomcat-7.0./sbin/tomcat-server start
ExecStop=/usr/local/apache-tomcat-7.0./sbin/tomcat-server stop
Restart=/usr/local/apache-tomcat-7.0./sbin/tomcat-server restart
PrivateTmp=True [Install]
WantedBy=multi-user.target

5、配置Tomcat Pid生产的位置

注意:

  确认Tomcat PID必须 与 /lib/systemd/system/tomcat.service 配置里面的 PIDFile 保持一致

vi /usr/local/apache-tomcat-7.0./bin/catalina.sh
怱略
#
# USE_NOHUP (Optional) If set to the string true the start command will
# use nohup so that the Tomcat process will ignore any hangup
# signals. Default is "false" unless running on HP-UX in which
# case the default is "true"
# ----------------------------------------------------------------------------- CATALINA_PID=/usr/local/apache-tomcat-7.0.94/tomcat.pid # OS specific support. $var _must_ be set to either true or false.
cygwin=false
怱略

6、刷新systemctl配置

#重新加载配置文件
systemctl daemon-reload #服务开启,关闭,重启
systemctl start tomcat.service
systemctl stop tomcat.service
systemctl restart tomcat.service #设置开机自动启动
systemctl enable tomcat.service

注意:

  启动完成后,需要检查进程是否运行

ps -ef | grep java

正常启动如下:

最新文章

  1. c# 文件属性读取操作及文件之间操作
  2. 自动布局之autoresizingMask使用详解(Storyboard&Code)
  3. Jquery 根据value值设置下拉列表(select)默认选中项
  4. 【MySQL案件】mysql登录-S失败
  5. JVM高级特性-二、JVM在堆中对象的分配、布局、访问过程
  6. java--抽象类实例(包含静态内部抽象类)
  7. iOS中关于UIApplication的详细介绍
  8. CentOS系统下安装python3+Django
  9. python全栈开发day55-mysql外键的三种变种
  10. NOIP2011普及组 瑞士轮
  11. Reading Lines from File in C++
  12. 一、Beego介绍与项目创建及启动
  13. js - 移动端的超出滚动功能,附带滚动条,可解决弹层中滚动穿透问题。
  14. 将 java 改写成 beanshell 的经验之谈
  15. Chrome使用的plugin
  16. 设置Tomcat的JAVA_OPTS参数
  17. 设置frameset高度
  18. PHP SQL写法 积累(注:PHPSQL与LINQ SQL相似)
  19. 【边框回归】边框回归(Bounding Box Regression)详解(转)
  20. Linux的基本指令--目录和文件和文件属性和文件用户组

热门文章

  1. LINQ查询表达式详解(1)——基本语法、使用扩展方法和Lambda表达式简化LINQ查询
  2. 西安邀请赛-D(带权并查集+背包)
  3. [转帖]linux下使用 du查看某个文件或目录占用磁盘空间的大小
  4. 建立分表sql执行语句批量生成工具(自创)
  5. int与Integer的一个小区别
  6. Java switch case 语句
  7. 计算机和python
  8. Codeforces 1229C. Konrad and Company Evaluation
  9. GoAccess操作手册
  10. try catch和finally