Squeak.ru - шаблоны программирования

Блог Ghost с Nginx получает Bad Gateway

Я получаю плохой шлюз 502 с моим приложением-призраком. Я исследовал весь Интернет, и я не нашел ответов на этот вопрос.

Мой призрак 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 supertar.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";
    }
}

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

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

И я использую PM2 для запуска приложения Ghost:

pm2 start index.js

Когда я пытаюсь запустить приложение Ghost, используя:

npm start

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

Я использую:

Убунт 14.04 64бит

Узел v0.10.13

Нпм 2.1.12

Спасибо!


Ответы:


1

Я столкнулся с той же проблемой после обновления Ghost в экземпляре Digital Ocean Ubuntu.

cd /var/www/ghost  #or your custom ghost dir
ghost ls #lists your ghost configuration

Убедитесь, что номер порта, настроенный в файле конфигурации вашего призрака, и proxy_pass в файлах конфигурации nginx вашего сайта-призрака совпадают.

Убедитесь, что номер порта в /var/www/ghost/config.production.json соответствует порту proxy_pass в файлах конфигурации nginx.

/var/www/ghost/system/files/<yourDomainName>.<extension>.conf
/var/www/ghost/system/files/<yourDomainName>.<extension>-ssl.conf

В моем случае мне пришлось изменить 2368 на 2369 в файлах конфигурации nginx, чтобы решить проблему.

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

# restart your ghost site
cd /var/www/ghost/
ghost restart 
# restart nginx
sudo systemctl restart nginx

Надеюсь, это поможет кому-то.

05.07.2019
  • это решило мою проблему, когда я перемещал домены, используя ghost config url 24.04.2020

  • 2

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

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

    Почему?! знак равно

    16.12.2014

    3

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

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

    17.12.2014
  • Это ошибка, которую показывает pm2 в логах: ссылка И еще одно, есть бесконечный цикл, показывающий эту ошибку. 17.12.2014
  • Похоже, у других такая же проблема с PM2: ghost.org/forum/installation/ 19.12.2014

  • 4

    Для дальнейшего устранения неполадок pm2 я бы удалил nginx из картины, изменив Ghost 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'
        }
    

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

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

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

    Угловая структура архитектуры
    Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

    «Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
    Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

    Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
    В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

    Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
    React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

    Создайте API с помощью Python FastAPI
    Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

    Веселье с прокси-сервером JavaScript
    Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

    Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
    Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...