注册到 Linux OpenRC 系统服务
TIP
本教程仅限于使用Alpine、Devuan、Artix、Slackware等基于OpenRC的发行版的用户,如果您不使用此类发行版或者不懂,请移步systemd服务设置教程
众所周知,通过 SSH 客户端访问 Linux 启动的任何软件,会在 SSH 连接断开时自动退出,此时如果我们希望 MCSManager 在 Linux 中长期运行,那么我们可以编写服务让其在后台长期运行。
如果你是手动安装的 MCSManager,那么建议你将 MCSManager 配置为系统服务。
配置
vim /etc/init.d/mcsmd
#!/sbin/openrc-run
name=$RC_SVCNAME
description="MCSManager Daemon"
supervisor="supervise-daemon"
command="<NodeJS安装路径>/bin/node"
command_args="app.js"
supervise_daemon_args=" -d /opt/mcsmanager/daemon -e "PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\""
command_user="root"
stop() {
ebegin "Stopping $RC_SVCNAME"
/bin/kill -s QUIT $MAINPID
eend $?
}
reload() {
ebegin "Reloading $RC_SVCNAME"
/bin/kill -s HUP $MAINPID
eend $?
}
vim /etc/init.d/mcsmw
#!/sbin/openrc-run
name=$RC_SVCNAME
description="MCSManager Web"
supervisor="supervise-daemon"
command="<NodeJS安装路径>/bin/node"
command_args="app.js"
supervise_daemon_args=" -d /opt/mcsmanager/web -e "PATH=\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\""
command_user="root"
stop() {
ebegin "Stopping $RC_SVCNAME"
/bin/kill -s QUIT $MAINPID
eend $?
}
reload() {
ebegin "Reloading $RC_SVCNAME"
/bin/kill -s HUP $MAINPID
eend $?
}
编辑完毕后请使用chmod +x /etc/init.d/mcsm*
,否则无法执行服务!
命令用法
重启: service mcsmd restart
service mcsmw restart
启动: service mcsmd start
service mcsmw start
停止: service mcsmd stop
service mcsmw stop
禁用: rc-update del mcsmd
rc-update del mcsmw
启用: rc-update add mcsmd
rc-update add mcsmw
修改用户权限
在默认的服务配置内未修改用户的情况下,服务会以 root 用户运行,从而给服务器带来潜在安全隐患,推荐更改运行该服务的用户(command_user)来保证安全。
- 通过
useradd
chmod
chown
等命令来创建用户并修改相关用户权限。 - 修改
command_user
属性 - 重新启动服务