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來解決這個問題。