TongWeb开机启动及Linux service总结

1.tongweb.service

[Unit]
Description=TongWeb Server
After=network.target
 [Service]
Type=forking
**Environment="JAVA_HOME=/user/local/java/jdk1.8.0 171"
#ExecStart=/opt/tongweb7.0/bin/startserver.sh restart
**ExecStart=/opt/tongweb7.0/bin/boot.sh
#ExecStop=/opt/tongweb7.0/bin/stopserver.sh stop
privateTmp=false

# Disable service start and stop timeout logic of systemd for tongweb service.
TimeoutSec=0

[Install]
WantedBy=multi-user.target

2.开机以非root用户启动
有的应用例如coremail应用需要coremail账户权限,可按下面红框添加User和Group,这样开机TongWeb以非root账户启动。

[Unit]
Description=TongWeb Server
After=network.target
[Service]
User=chenwb
Group=chenwb
Type=forking
**Environment="JAVA_HOME=/user/local/java/jdk1.8.0 171"
#ExecStart=/opt/tongweb7.0/bin/startserver.sh restart
**ExecStart=/opt/tongweb7.0/bin/boot.sh
#ExecStop=/opt/tongweb7.0/bin/stopserver.sh stop
privateTmp=false

# Disable service start and stop timeout logic of systemd for tongweb service.
TimeoutSec=0

[Install]
WantedBy=multi-user.target

3.使能服务
将tongweb.service放入/usr/lib/system/system中;
执行systemctl enable tongweb.service生效。

4.service文件说明

[Unit]    #对服务的说明部分
Description=xxx
After=network.target #描述服务类别,表示本服务需要在network服务启动后在启动
Before=xxx.service   # 表示需要在某些服务启动之前启动,After和Before字段只涉及启动顺序,不涉及依赖关系。
[Service]  #核心部分
Type=forking   #后台运行模式
User=user        #设置服务运行的用户
Group=user       #设置服务运行的用户组
Environment=”JAVA_HOME=/XX/XX”     #设置环境变量,如JAVA_HOME
PIDFile=/usr/local/xxx    #存放PID的绝对路径
KillMode=control-group    #定义systemd如何停止服务
ExecStart=/usr/local/bin/forever start /node.js/xiyoulib/bin/www
ExecReload=/usr/local/bin/forever restart /node.js/xiyoulib/bin/www
ExecStop=/usr/local/bin/forever stop /node.js/xiyoulib/bin/www
Restart=no        #定义服务进程退出后,systemd的重启方式,默认是不重启
PrivateTmp=true   #表示给服务分配独立的临时空间
[Install]  #服务的相关部分
WantedBy=multi-user.target  #多用户

注意:该脚本配置好之后,需要授予755的权限。
5systemctl相关命令
(1)启动服务

systemctl start tongweb.service

(2)停止服务

systemctl stop tongweb.service

(3)查看服务状态

systemctl status tongweb.service

(4)禁用服务

systemctl disable tongweb.service

(5)使能服务

systemctl enable tongweb.service

(6)重新加载service

systemctl daemon-reload

6.优先级
Unit文件位置一般主要有三个目录:

/etc/systemd/system
/run/systemd/system
/lib/systemd/system

这三个目录的配置文件优先级依次从高到低,如果同一选项三个地方都配置了,优先级高的会覆盖优先级低的。
/usr/lib/system/system和/lib/system/system中的service文件任一修改后会另一处会自动改变。
TongWeb中使用installservice.sh脚本,tongweb.service文件会复制到/etc/systemd/system和/usr/lib/systemd/system,/lib/systemd/system会自动生成一份。
7多次执行installservice.sh的问题
tongweb.service文件在安装目录service/linux中,执行installservice.sh时会修改此文件,将其中的JAVA_HOME_VARIATE和TongWeb字段替换为实际路径。对应JAVA_HOME和TongWeb安装路径。
如果TongWeb安装目录是TongWeb7.0那么多次执行installservice.sh只会替换TongWeb,导致会有TongWeb7.07.0情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值