📅  最后修改于: 2023-12-03 15:20:26.778000             🧑  作者: Mango
systemd 是一个系统管理守护进程,它是目前主流 Linux 系统中的一个组件。
使用 systemd 可以统一管理系统中的服务,包括启动、停止、重启、状态查看等操作。
在使用 systemd 管理服务时,服务的配置文件需要存放在特定的位置。
systemd 服务的配置文件通常以 .service
后缀结尾,存放在以下目录:
/usr/lib/systemd/system/
:系统级别的服务文件存放在此目录下。例如,sshd.service、cron.service 等服务。/etc/systemd/system/
:用户级别的服务文件存放在此目录下。例如,自定义服务文件。在这两个目录下,系统会自动扫描并加载这些服务文件。但是需要注意,对于用户级别的服务,需要使用 systemctl --user
命令启动、停止、重启等操作。
systemd 服务的配置文件采用 INI 文件格式,包含以下几个部分:
[Unit]
:定义服务的依赖关系和其他元数据。例如,可以指定一个服务依赖于网络可用、启动后需要等待其他服务。
[Unit]
Description=My Service
After=network-online.target postgresql.service
[Service]
:定义服务本身的行为。例如,可以指定启动命令、工作目录、环境变量等信息。
[Service]
User=webuser
ExecStart=/usr/local/bin/myapp
WorkingDirectory=/usr/local/myapp
Environment=MYAPP_PORT=8080
[Install]
:定义服务的启动级别和安装位置。通常不需要进行配置。
[Install]
WantedBy=multi-user.target
以下是一个简单的 systemd 服务配置文件,它启动一个 Python Web 应用程序:
[Unit]
Description=My Python Web App
After=network-online.target
[Service]
User=webuser
ExecStart=/usr/bin/python /opt/myapp/app.py
WorkingDirectory=/opt/myapp
Environment=APP_PORT=8080
[Install]
WantedBy=multi-user.target
在创建完该文件后,使用以下命令启动该服务:
systemctl start myapp.service
systemd 服务的配置文件存放在 /usr/lib/systemd/system/
或 /etc/systemd/system/
目录下,采用 INI 文件格式。
该文件包含 [Unit]
、[Service]
、[Install]
三个部分,分别定义服务的元数据、行为和安装位置。
通过 systemd 可以统一管理和自动加载系统中的服务,提高了系统管理的效率。