1

我正在使用juggernaut推送服务器。如何开始在生产模式的原因Redis的剑圣我如何在生产模式下运行redis服务器和juggernaut服务器

juggernaut 

redis-server will keep on showing me log etc. 

我使用的轨道3

编辑

红宝石我跟着这两个指南在生产服务器上设置juggernautredis

Terminal commands.

似乎两个服务器都运行平稳了。但是,我怎么能访问

 :8080/application.js for juggernaut. 

我试图

my_ip:8080/application.js but nothing. 

主办我使用的Linode。

EDIT2

当我试图停止/启动Redis的服务器其给我的输出即:

Starting/Stopping redis-server: redis-server. 

但没有什么,当我在做同样的主宰。检查截图。

enter image description here

编辑

我看不到任何日志剑圣..有一个Redis的,但什么也没对剑圣

enter image description here

编辑

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

    -rwxr-xr-x 1 fizzy fizzy 1310 Sep 19 11:06 juggernaut 
    
  2. PIDFILE =的/ var /运行/ juggernaut.pid”定义。这是否存在? --- NO

  3. 在'开始'部分它运行'chown juggernaut:juggernaut'。用户剑圣是否存在并且是团队主宰的成员? - 是/是

    cat /etc/group 
         redis:x:1002: 
         juggernaut:x:113: 
    
        groups juggernaut 
         juggernaut : juggernaut 
    

EDIT

 [email protected]:~$ sudo ls -l /usr/bin/juggernaut 
       ls: cannot access /usr/bin/juggernaut: No such file or directory 
    [email protected]:~$ 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 

服务器启动,但剑圣不作为后台进程/服务。

EDIT

运行在调试模式下脚本即 改变shebang行的顶部以添加-x,例如

#! /bin/bash -x 

这里是输出: -

+ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
    + DAEMON=/usr/bin/juggernaut 
    + NAME=Juggernaut2 
    + DESC=Juggernaut2 
    + PIDFILE=/var/run/juggernaut.pid 
    + test -x /usr/bin/juggernaut 
    + exit 0 

编辑

改变我的剑圣的路径,因为它似乎我的剑圣安装在别的地方。现在这里是输出

[email protected]:~$ sudo /etc/init.d/juggernaut start 
    + PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
    + DAEMON=/usr/local/bin/juggernaut 
    + NAME=Juggernaut2 
    + DESC=Juggernaut2 
    + PIDFILE=/var/run/juggernaut.pid 
    + test -x /usr/local/bin/juggernaut 
    + set -e 
    + case "$1" in 
    + echo -n 'Starting Juggernaut2: ' 
    Starting Juggernaut2: + touch /var/run/juggernaut.pid 
    + chown juggernaut:juggernaut /var/run/juggernaut.pid 
    + start-stop-daemon --start --quiet --umask 007 --pidfile /var/run/juggernaut.pid --chuid juggernaut:juggernaut --exec /usr/local/bin/juggernaut 
    20 Sep 06:41:16 - Your node instance does not have root privileges. This means that the flash XML policy file will be served inline instead of on port 843. This will slow down initial connections slightly. 
    20 Sep 06:41:16 - socket.io ready - accepting connections 

    node.js:134 
      throw e; // process.nextTick error, or 'error' event on first tick 
      ^
    Error: EADDRINUSE, Address already in use 
     at Server._doListen (net.js:1106:5) 
     at net.js:1077:14 
     at Object.lookup (dns.js:153:45) 
     at Server.listen (net.js:1071:20) 
     at Object.listen (/usr/local/lib/node_modules/juggernaut/lib/juggernaut/server.js:51:21) 
     at Object.listen (/usr/local/lib/node_modules/juggernaut/lib/juggernaut/index.js:9:10) 
     at Object.<anonymous> (/usr/local/lib/node_modules/juggernaut/server.js:21:12) 
     at Module._compile (module.js:402:26) 
     at Object..js (module.js:408:10) 
     at Module.load (module.js:334:31) 
    + echo failed 
    failed 
    + exit 0 
+0

您必须启动服务。 Juggernaut没有运行,你只能在搜索中看到'grep'命令。将附加到我的答案。 – Daan

回答

3

您可能想要启动Juggernaut和Redis作为服务/后台进程。作为服务启动它可以将日志重定向到一个文件,然后您可以定期检查。

要创建一个自动在引导时启动一个服务,你必须做的基于OS不同的事情你使用:

确保通过将服务添加到默认运行级别(将在引导期间自动启动)创建服务或者手动启动它们来启动服务。

添加服务默认的运行级别(Linux)的,也无论是Linux教程上面的部分:

sudo update-rc.d -f juggernaut defaults 
sudo update-rc.d -f redis-server defaults 

添加服务的默认运行级别后,你仍然需要手工启动服务(Linux)的:

sudo /etc/init.d/juggernaut start 
sudo /etc/init.d/redis-server start 
+0

@达安..这是关于剑圣怎么样redis? –

+0

我已经添加了Ubuntu Redis示例。这两个服务的想法是相同的。 – Daan

+0

@daan ..我跟着这两个指南检查我添加的截图。无法访问juggernaut服务器的application.js。 –

0

我遇到了同样的问题(使用Ubuntu 12.04 LTS)。使用upstart为我做了。

创建一个文件 'juggernaut.conf' 载:

start on filesystem and started networking 
stop on shutdown 

script 
    # We found $HOME is needed. Without it, we ran into problems 
    export HOME="/root" 

    exec /usr/local/bin/juggernaut 2>&1 >> /var/log/juggernaut.log 
end script 

将该文件保存在/ etc /初始化/(不init.d下),并使其运行(chmod + x)的。就是这样,如果服务器启动,Juggernaut就像deamon一样运行。

注意:在juggernaut本身的juggernaut.log旁边,有一个位于/ var/log/upstart /中的juggernaut.log,其中的信息写在新贵尝试启动juggernaut。

我或多或少地从this blog复制粘贴上述脚本。然而,所示的脚本开始:

start on startup 

这并没有为我工作,因为文件系统没有被正确安装在启动时,所以没有可能创造juggernaut.log(只读文件系统错误)。在serverfault上的积分为this post来解决这个问题。