在ubuntu上实现服务保活

实现:

记录实现在ubuntu上进程保活的过程,此处以保活tg-bot服务为例子

部署

安装bot服务需要的依赖

sudo pip3 install python-telegram-bot requests

创建并编写服务文件

sudo nano /etc/systemd/system/tgbot.service
[Unit]
Description=Telegram Image Bot Service
# 确保在网络准备好后再启动
After=network.target

[Service]
# 使用 root 权限运行
User=root
Group=root

# 指定你的代码所在目录
WorkingDirectory=/data1/telegram_image_bot

# 执行命令:绝对路径运行 python3 和 脚本
ExecStart=/usr/bin/python3 /data1/telegram_image_bot/telegram_bot06.py

# 核心:无论何种原因退出,5秒后自动重启
Restart=always
RestartSec=5

# 终极解决编码问题:强制进程识别 UTF-8
# 此处为执行bot服务时编码需求,其他情况下不需要的
Environment=PYTHONIOENCODING=utf-8
Environment=LANG=en_US.UTF-8
Environment=LC_ALL=en_US.UTF-8

[Install]
# 设置为多用户环境下启动
WantedBy=multi-user.target

ctrl+x 按y保存即可

激活并启动

# 1. 刷新系统配置,让它识别到新的 tgbot 服务
sudo systemctl daemon-reload

# 2. 启动服务
sudo systemctl start tgbot

# 3. 设置为开机自动启动
sudo systemctl enable tgbot

检查是否成功运行

sudo systemctl status tgbot

维护

停止运行

彻底移除监测按顺序执行即可

# 暂停运行
sudo systemctl stop tgbot
# 禁止开机自启
sudo systemctl disable tgbot
# 删除配置文件
sudo rm /etc/systemd/system/tgbot.service
# 刷新配置
sudo systemctl daemon-reload

修改代码

需要修改代码的话修改完成后直接重启

sudo systemctl restart tgbot

暂停服务修改文件(或者按照下面这个修改)

sudo systemctl stop tgbot
# 修改代码
sudo systemctl start tgbot

查看服务bot运行日志

sudo journalctl -u tgbot -f

按ctrl+c退出即可。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注