2014-12-16 2 views
1

Я получаю 502 плохих шлюза с моим призрачным приложением. Я исследовал по всему Интернету, и я не нашел ответов на это.Ghost Blog с Nginx, получающим плохой шлюз

Моего Призрачный config.js:

var path = require('path'), 
    config; 

config = { 
    production: { 
     url: 'http://supetar.italoborg.es', 
     mail: {}, 
     database: { 
      client: 'sqlite3', 
      connection: { 
       filename: path.join(__dirname, '/content/data/ghost.db') 
      }, 
      debug: false 
     }, 

     server: { 
      // Host to be passed to node's `net.Server#listen()` 
      host: '127.0.0.1', 
      // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT` 
      port: '2368' 
     } 
    } 
} 

Моих Nginx supetar.italoborg.es файл:

server { 
    listen 0.0.0.0:80; 

    server_name supetar.italoborg.es; 
    root /home/italo/www/supetar.italoborg.es/html; 
    index index.html index.htm index.js; 
    access_log /var/log/nginx/supetar.italoborg.es.log; 

    location/{ 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header HOST $http_host; 
      proxy_set_header X-NginX-Proxy true; 

      proxy_pass http://127.0.0.1:2368; 
      proxy_redirect off; 

      # Socket.IO Support 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
      proxy_set_header Connection "upgrade"; 
    } 
} 

Я создал символическую ссылку на папку сайты-Enabled:

lrwxrwxrwx 1 root root 47 Dec 16 12:10 supetar.italoborg.es -> /etc/nginx/sites-available/supetar.italoborg.es 

И я использую PM2 для запуска призрачного APP:

pm2 start index.js 

Когда я пытаюсь запустить Призрачный APP с помощью:

npm start 

Я могу видеть блог, но когда я пытаюсь с PM2, я получаю недопустимый шлюз.

Я использую:

Ubunt 14.04 64бит

Узел v0.10.13

НПМ 2.1.12

спасибо!

ответ

0

Теперь, может быть, я нашел решение, но пока не знаю почему.

Я удалил PM2 и установил Forever, угадайте, что, РАБОТАЕТ!

Почему? =)

0

Похоже, что приложение работает неправильно. Вероятно, произошла ошибка запуска, так что Ghost не смог включить порт. Поэтому Nginx не мог перенаправить запросы Ghost и возвращает только «Bad Gateway».

Вы можете просмотреть консольный журнал PM2, после чего вы точно увидите, что пошло не так.

+0

Это ошибка, PM2 показывают в журналах: [ссылка] (https://gist.github.com/italoborges/ae14b8c32d69699f1dd5) И еще одна вещь, есть бесконечный цикл показывает эту ошибку. –

+0

Похоже, что у других такая же проблема с PM2: https://ghost.org/forum/installation/16015-problems-with-ghost-0-5-and-pm2/ – NodeCode

0

Для дальнейшего устранения PM2 Я хотел бы удалить Nginx из изображения путем изменения Призрак config.js на следующее:

server: { 
     // Host to be passed to node's `net.Server#listen()` 
     host: '0.0.0.0', 
     // Port to be passed to node's `net.Server#listen()`, for iisnode set this to `process.env.PORT` 
     port: '2368' 
    } 

, а затем попытаться начать привидение с PM2. Как только вы запустите Ghost с pm2, добавьте nginx обратно.

Мы запускаем несколько сайтов с pm2 и очень довольны им.

+0

Моя проблема с этим подходом заключается в том, m, используя разворот с Git, и каждый раз, я останавливаю Pm2-процесс, запускаю что-то вроде npm install -production, а затем снова запускаю pm2. –

Смежные вопросы