centos7手动创建自定义系统服务
在linux系统开发过程中,有时自己的程序可能会出问题或者被关掉,如果要一直维持运行的话,把程序加入到服务列表中是非常好的一个做法,这里就说明讲linux中讲自有程序加入到系统服务的过程,以centos7为例。
步骤:
- python的flask自建一个简单的web程序
- 加入到系统服务
- 启动服务以及详细参数说明
python的flask自建一个简单的web程序
这一步可以是任何你自己想要加入系统服务的程序,这里的例子是flask的一个web程序,只会输出hello world
yum install python-pip -y
pip install --upgrade pip
pip install flask
在root用户目录下建立一个简单的flask程序,先
##位置 /root/hello.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
测试运行
export FLASK_APP=hello.py
flask run
可以看到成功运行 wget测试
加入到系统服务
首先写一个运行hello程序的脚本,这里flask需要环境变量麻烦些,其他的更容易,脚本hello.sh如下
cd /root
export FLASK_APP=hello.py
flask run
到system服务目录创建文件,比如叫flask_app
touch /etc/systemd/system/flask_app.service
内容写入
[Unit]
Description=flask_app service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=www
ExecStart=/usr/bin/bash /root/hello.sh
[Install]
WantedBy=multi-user.target
启动服务以及详细参数说明
启动服务
systemctl start flask_app
##or service flask_app start
- Description:系统服务描述
- After:紧接程序后面运行,这里连接网络后运行
- StartLimitIntervalSec:多少时间后运行,这里网络一开启就运行
- Restart:中断是否重启
- RestartSec:中断后重启等待时间
- User:指定程序运行用户
- ExecStart:系统服务程序运行的命令,需要完整目录
install项目照抄就行。。。
总结:
本文解决一个常见的问题,就是遇到需要将自己的程序作为系统服务的时候,怎么添加系统服务,以及实现程序被中断后自动重启,达到程序可以稳定后台运行的目的。
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/457.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。