无法在 ubuntu 上设置 juggernaut 推送通知服务器

无法在 ubuntu 上设置 juggernaut 推送通知服务器

我正在开发一个 ruby​​ on rails 应用程序来实现聊天功能。我无法在生产模式下设置 juggernaut 服务器。

我跟着本指南设置 redis。并且它运行正常。

然后我跟着这是为了设置 juggernaut。但是当我尝试启动 juggernaut 时它却不工作。

下面是使用 grep 命令检查 redis 是否正常工作但 juggernaut 是否不正常工作的结果。

在此处输入图片描述

当我尝试停止/启动 redis 服务器时,它会给出输出,即:

 Starting/Stopping redis-server: redis-server.

但当我对 juggernaut 执行相同操作时,没有任何反应。请查看屏幕截图。

在此处输入图片描述

检查实际发生的情况还有以下一些事项:

  1. /etc/init.d/juggernaut 文件的可执行文件权限--是

        -rwxr-xr-x 1 fizzy fizzy 1310 Sep 19 11:06 juggernaut
    
  2. PIDFILE=/var/run/juggernaut.pid' 已定义。它存在吗? --- 不存在

  3. 在“开始”部分,它运行“chown juggernaut:juggernaut”。用户 juggernaut 是否存在,并且它是否是 juggernaut 组的成员?-- 是/是

      cat /etc/group
          redis:x:1002:
          juggernaut:x:113:
    
      groups juggernaut
          juggernaut : juggernaut
    
  4. 运行 sudo juggernaut 启动服务器,但我希望它继续在后台进程/服务中运行。

在此处输入图片描述

我现在陷入困境。有人能帮助我吗?

编辑

     fizzy@li136-198:~$ sudo ls -l /usr/bin/juggernaut 
              ls: cannot access /usr/bin/juggernaut: No such file or directory
     fizzy@li136-198:~$ sudo ls -l /usr/local/bin/juggernaut 
            lrwxrwxrwx 1 root root 40 Sep 20 02:48 /usr/local/bin/juggernaut -> ../lib/node_modules/juggernaut/server.js

我尝试改变

        DAEMON=/usr/bin/juggernaut

        DAEMON=/usr/local/bin/juggernaut

之后我尝试使用

         sudo /etc/init.d/juggernaut start

服务器已启动但不是作为后台进程/服务。

附言:请有人为这个问题创建适当的标签。

答案1

默认情况下,该juggernaut程序似乎不会将自身作为守护进程,并且 initscript 未提供使其这样做的参数。检查输出中jaggernaut --help有关守护进程模式的选项,如果找到它们,请修改 initscript 以提供这些选项。例如:

OPTIONS="--daemonize"
...
if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid juggernaut:juggernaut --exec $DAEMON -- $OPTIONS

如果没有任何选项,您将不得不start-stop-daemon执行守护进程(由于各种原因,这并不理想)。为此,请添加--background和可能的--make-pidfile选项:

if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid juggernaut:juggernaut --background --make-pidfile --exec $DAEMON

相关内容