2014-12-02 64 views
0

我試圖流星應用程序部署到我的生產服務器,上Ununtu 14.04運行,我收到以下錯誤在我的日誌文件(在/ var /日誌/nginx/error.log)生產流星應用:nginx的代理 - 失敗(111:連接被拒絕)

2014/12/02 16:03:38 [error] 19231#0: *4267 connect() failed (111: Connection refused) while connecting to upstream, client: 162.13.2.250, server: theserver.com, request: "GET /content/staticContent.json HTTP/1.1", upstream: "http://127.0.0.1:3000/content/staticContent.json", host: "theserver.com" 

我的應用程序獲取從5個文件JSON內容和這些包括作爲項目的一部分。

我有以下nginx配置文件。我正在運行nginx 1.6.2。

我也應該注意到,參觀http://theserver.com/content/staticContent.json加載瀏覽器中的內容。

我也從命令行運行'wget http://127.0.0.1:3000/content/staticContent.json'當登錄到我的生產服務器,我可以獲取內容。

server_tokens off;

upstream anna { 
     server 127.0.0.1:3000; 
} 

# HTTP 
server { 
     listen 80; 

     #server_name *.theserver.com; 
     server_name  theserver.com; 

     location/{ 
       proxy_pass http://anna; 
       proxy_http_version 1.1; 
       proxy_set_header Upgrade $http_upgrade; 
       proxy_set_header Connection "upgrade"; 
       proxy_set_header Host $http_host; 

       proxy_set_header X-Real-IP $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       proxy_set_header X-Forward-Proto http; 
       proxy_set_header X-NginX-Proxy true; 

       proxy_redirect off; 
     } 
} 

我也有以下新貴配置文件中的一個節點光纖上運行我的流星應用

description "Meteor.js (NodeJS) application for theserver.com" 
author "Me <[email protected]>" 

start on started mongodb and runlevel [2345] 

stop on shutdown 

respawn 
respawn limit 10 5 

setuid anna 
setgid anna 

script 
     export PATH=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
     export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript 
     export PWD=/home/anna 
     export HOME=/home/anna 
     export BIND_IP=127.0.0.1 
     export PORT=3000 
     export HTTP_FORWARDED_COUNT=1 
     export MONGO_URL=mongodb://localhost:27017/anna 
     export ROOT_URL=http://theserver.com/ 
     exec node /home/anna/bundle/main.js >> /home/anna/anna.log 
end script 

我的部署過程如下:

  1. 在我的本地機器我運行'流星建造'。然後scp到我的生產服務器上面的主目錄
  2. 然後解開.tar.gz文件,cd進入bundle/programs/server並運行'npm install'
  3. 最後,當以'anna 「使用sudo的權利,我跑‘須藤開始安娜’給出了上述新貴腳本
  4. 在檢查生成的日誌文件,我看到生成的HTML告訴我有一個502網關錯誤。

當我轉到實況網站的URL時,我可以看到我放置的加載圖標。這是Meteor的加載模板,我已經放置好了,我已經配置IronRouter使用它作爲加載模板,而它正在等待我的集合的訂閱被填充,但是這種情況從未發生過,因爲我的服務器端mongodb實例永遠不會被填充,出於上述原因。

任何人都可以看到什麼不尋常的在上面可能會導致該502網關錯誤?

運行的netstat -ln表示,我認爲node.js的運行,見下圖:

tcp  0  0 127.0.0.1:3000   0.0.0.0:*    LISTEN 

感謝

+0

你可能想看看http://stackoverflow.com/a/24497020/586086。 – 2014-12-03 01:46:20

+0

嗨安德魯 - 只是,不幸的是我沒有工作。 – matfin 2014-12-03 08:33:47

回答

0

您是否嘗試過使用meteor-up?它爲您處理捆綁和新貴配置。

流星行動的建議nginx的配置是下面,它看起來很相似,你(從Using Meteor Up with NginX vhosts拍攝)。

/etc/nginx/sites-enabled/mycustomappname.com。CONF

server { 
    listen    *:80; 

    server_name   mycustomappname.com; 

    access_log   /var/log/nginx/app.dev.access.log; 
    error_log    /var/log/nginx/app.dev.error.log; 

    location/{ 
    proxy_pass http://127.0.0.1:3000; 
    proxy_http_version 1.1; 
    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection 'upgrade'; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    } 
} 
+0

嗨。感謝您的建議。我嘗試了很多事情來實現這個目標,並且永遠無法解決它。我如何解決這個問題就是在服務器上創建一個新的子域,目錄以及加載靜態內容的nginx配置文件。然後,我把所有的資產都放在那裏,並且工作。這樣做是更好的做法,它允許我從我包含的所有內容資產中釋放我的代碼。 – matfin 2015-01-04 01:18:59

相關問題