注册到 Linux systemd 系统服务
TIP
如果你是通过一键安装脚本安装的,这个教程对你而言是无用的,因为已经自动配置完毕。
TIP
使用Alpine、Devuan、Artix、Slackware等基于OpenRC的发行版的用户请移步OpenRC服务设置教程
众所周知,通过 SSH 客户端访问 Linux 启动的任何软件,会在 SSH 连接断开时自动退出,此时如果我们希望 MCSManager 在 Linux 中长期运行,那么我们可以编写服务让其在后台长期运行。
如果你是手动安装的 MCSManager,那么建议你将 MCSManager 配置为系统服务。
配置
vim /etc/systemd/system/mcsm-daemon.service
[Unit]
Description=MCSManager Daemon
[Service]
WorkingDirectory=/opt/mcsmanager/daemon
ExecStart=<NodeJS安装路径>/bin/node app.js
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
User=root
[Install]
WantedBy=multi-user.target
vim /etc/systemd/system/mcsm-web.service
[Unit]
Description=MCSManager Web
[Service]
WorkingDirectory=/opt/mcsmanager/web
ExecStart=<NodeJS安装路径>/bin/node app.js
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
User=root
[Install]
WantedBy=multi-user.target
命令用法
重启:systemctl restart mcsm-{daemon,web}.service
启动:systemctl start mcsm-{daemon,web}.service
停止:systemctl stop mcsm-{daemon,web}.service
禁用:systemctl disable mcsm-{daemon,web}.service
启用:systemctl enable mcsm-{daemon,web}.service
修改用户权限
在 systemd 的服务配置内未指定用户的情况下,服务会以 root 用户运行,从而给服务器带来潜在安全隐患,推荐更改运行该服务的用户来保证安全。
- 通过
useradd
chmod
chown
等命令来创建用户并修改相关用户权限。 - 在
[Service]
栏目中修改User
属性(如果没有就添加一个) - 重新启动服务