我已经将 ejabbered 从源代码安装到 centos 7 中,它运行良好,但现在的问题是如何随系统自动启动它。我尝试过启动应用程序、rc.local 文件方法,但都失败了,还有其他方法可以用系统运行 ejabbered 吗?
编辑:- 我下载ejabberd.服务文件并将其重命名为 ejabberd.service,然后将其复制到/etc/systemd/system/
并运行此命令systemctl enable ejabberd.service
以启用它,但 ejabberd 仍然未与系统一起运行。
答案1
我能够使用ejabberd.服务
在这个文件中,我修改了路径@ctl脚本路径@被替换为我安装的实际路径。
然后我就可以启动并检查服务的状态。
如果您已经尝试使用原始文件运行服务,则需要运行:systemctl 守护进程重新加载跑步前:systemctl 启动 ejabberd
就我而言,它是:/opt/ejabberd-17.11/bin/ejabberdctl 而不是:@ctlscriptpath@/ejabberdctl
(确保在每个位置都更改路径!!)
完全有可能有另一种更合适的方法可以替换变量(我在谷歌搜索了几分钟后没有找到更合适的方法,我希望稍后再回过头来解决这个问题。)
答案2
在 *nix 系统上,如果您希望 ejabberd 在启动时作为守护进程启动,请将 ejabberd.init 从“bin”目录复制到 /etc/init.d/ejabberd 之类的位置(取决于您的发行版)。
创建一个名为 ejabberd 的系统用户,授予其对目录 database/ 和 logs/ 的写权限,并将其设置为 home;脚本将使用该用户启动服务器。然后,您可以以/etc/inid.d/ejabberd
root 身份调用 start 来启动服务器。