在使用 Ubuntu 或其他基于 systemd 的 Linux 系统时,我们经常需要让自己的脚本或程序在后台自动运行,并在系统启动时自动启动。这时候,创建一个自定义systemd服务就是最标准、最可靠的做法。
本文将手把手教你如何从零开始创建并管理一个 systemd 服务,即使你是 Linux 小白也能轻松上手!
systemd 是现代 Linux 发行版(包括 Ubuntu 16.04 及以后版本)中默认的初始化系统和服务管理器。它负责在系统启动时启动各种服务,并提供统一的命令来管理这些服务(如启动、停止、重启、查看状态等)。
假设你有一个 Python 脚本 /home/youruser/myapp.py,内容如下:
#!/usr/bin/env python3import timewhile True: print("My custom service is running...") time.sleep(10) 确保该脚本有可执行权限:
chmod +x /home/youruser/myapp.py 所有自定义的 systemd 服务文件应放在 /etc/systemd/system/ 目录下,文件名以 .service 结尾。
使用你喜欢的编辑器(如 nano)创建服务文件:
sudo nano /etc/systemd/system/myapp.service 在文件中写入以下内容(请根据你的实际情况修改路径和用户):
[Unit]Description=My Custom Application ServiceAfter=network.target[Service]Type=simpleUser=youruserWorkingDirectory=/home/youruserExecStart=/usr/bin/python3 /home/youruser/myapp.pyRestart=alwaysRestartSec=10[Install]WantedBy=multi-user.target 各字段说明:
创建完服务文件后,需要通知 systemd 重新加载配置:
sudo systemctl daemon-reload 然后启动服务并设置开机自启:
sudo systemctl start myapp.servicesudo systemctl enable myapp.service 你可以使用以下命令查看服务是否正常运行:
sudo systemctl status myapp.service 如果看到绿色的 “active (running)” 字样,说明服务已成功启动。
如果服务启动失败,可以查看详细日志:
sudo journalctl -u myapp.service -f 这会实时输出服务的日志,帮助你快速定位问题。
通过以上步骤,你已经成功创建了一个 Ubuntu systemd服务,并实现了开机自启和自动重启功能。这种方法适用于任何长期运行的脚本、Web 应用、监控程序等,是 Linux后台服务 管理的标准实践。
掌握 自定义systemd服务 和 Ubuntu系统管理 技能,将极大提升你在服务器运维和自动化任务中的效率。
提示:生产环境中建议添加日志轮转、环境变量、安全限制(如 NoNewPrivileges=true)等高级配置,以增强服务的健壮性和安全性。
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125865.html