本文已参与「新人创作礼」活动,一起开启掘金创作之路。
很多时候我们要去部署一个项目、一个程序,需要保证它能够在服务器中,能够一直保持运行状态,遇到服务器正常或不正常重启时,依旧能够保持在运行时的状态,我们就可以将这个程序的启动方式设定为service服务型的启动方式。
-
这里以创建
Python程序服务为例 -
服务器版本为
Centos 8.3
1、在/etc/systemd/system中创建一个service,使用vim或者vi编辑器,进入文件后,输入指令i进入编辑状态。
vim /etc/systemd/system/myNotice.service
设定service的一些参数信息
[Unit]Description为描述信息内容After为先后执行的service
[Service]Type类型,可以不变更User为执行的用户,此处为root用户Group为执行的用户组,此处为root用户组WorkingDirectory为当前工作路径,一般为程序入口ExecStart为执行的指令信息,注意无论有没有配置好环境变量,这里都采用可执行程序的绝对路径
[Install]- 此部分内容可以不修改
完整的service编写可以参考如下:
[Unit]
Description=yourDescription
After=network.service
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/root
ExecStart=/root/anaconda3/bin/python notice.py
PrivateTmp=true
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意:工作路径和执行程序指令的时候,都使用绝对路径去操作。否则服务将无法根据已配置好的环境运行程序
2、编辑好之后可以保存退出
按下esc键,敲入指令:wq即可
3、载入service
systemctl daemon-reload
4、开启service
systemctl start myNotice
5、查看service启动状态
systemctl status myNotice
6、重启service
systemctl restart myNotice
7、停止service
systemctl stop myNotice
看到绿色的active(running)就说明成功了
- 如果是白色的
inactive (dead)就说明启动失败了或者没有启动
通过如下指令可以查看service启动的日志,找到失败的原因:
journalctl -xe
原创:本文由CodeItEasy公众号(lsir_34567)原创,编辑:原虫子
CSDN创作者:刘先生的u写倒了 ( blog.csdn.net/weixin_4379… )
微信公众平台创作者:CodeItEasy
掘金平台创作者:刘先生的u写倒了