以 mysql 为例,演示 centos7 如何注册系统服务
1. 创建 service 文件
cat > /usr/lib/systemd/system/mysql.service <<EOF
[Unit]
Description=MySQL Community Server
After=network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/opt/n9e/mysql-5.7.31-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/opt/n9e/mysql-5.7.31-linux-glibc2.12-x86_64/conf/my.cnf --user=root
WorkingDirectory=/opt/n9e/mysql-5.7.31-linux-glibc2.12-x86_64/
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
字段解释
[Unit]
Description=MySQL Community Server #描述
After=network.target #描述服务类别,表示本服务需要在 network 服务启动后在启动
[Service]
User=root #设置服务运行的用户
Group=root #设置服务运行的用户组
Type=simple #表示后台运行模式
#服务启动命令,命令需要绝对路径
ExecStart=/opt/n9e/mysql-5.7.31-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/opt/n9e/mysql-5.7.31-linux-glibc2.12-x86_64/conf/my.cnf --user=root
#工作目录
WorkingDirectory=/opt/n9e/mysql-5.7.31-linux-glibc2.12-x86_64/
Restart=on-failure #定义服务进程退出后,systemd 的重启方式
[Install]
WantedBy=multi-user.target #多用户模式
2. 重载 service 文件
systemctl daemon-reload
3. 启动与查看
systemctl start mysqld && systemctl enable mysqld
systemctl status mysqld