===== Проблемы и решения Ghost =====
=== 502. Bad Gateway. Неправильный порт в конфиге Nginx ===
:!: //Был кейс, когда после обновления движок поменял порт с 2368 на 2369 в конфиге nginx.//
Возможное решение: проверить, по нужному ли порту ghost подключается к nginx.
Смотрим порт, прописанный в конфиге ghost следующей командой (запускаем от ghost-mgr).
ghost ls
Идем в конфиги nginx для сайта и смотрим - что там, при необходимости правим.
cat /etc/nginx/sites-enabled/blog.jpolisher.com-ssl.conf
cat /etc/nginx/sites-enabled/blog.jpolisher.com.conf
Перезапускаем nginx и проверяем - ушла ли ошибка.
sudo systemctl restart nginx
----
=== Обновление node.js ===
Иногда при обновлении Ghost мы можем получить сообщение, что наш текущий //Node.js// уже не поддерживается.
The version of Node.js you are using is not supported
Информацию об обновлении Node.js можно найти на сайте по ссылке: https://ghost.org/docs/faq/node-versions/
Действия следующие
1) Обновляем gpg ключ репозитория
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
2) Создаём репозиторий
NODE_MAJOR=18 # Use a supported version
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
3) Производим обновление Node.js
sudo apt-get update
sudo apt-get install nodejs -y
После обновления Node.jp можем обновить Ghost традиционным способом, как описано на странице: [[обновление Ghost]]\\
----
=== 502. Bad Gateway. Проблема коннекта к БД ===
Ошибку 502 может также вызывать отсутствие подключения к базе данных. Например, при обновлении Node.js с версии 16 на версию 18 в /var/log/syslog была обнаружена следующая ошибка:
Message: Ghost was able to start, but errored during boot with: connect ECONNREFUSED ::1:3306
Help: Unknown database error
Проблема, как оказалось, заключается в том, что Node.js версии 18 по умолчанию предпочитает использовать протокол IPv6. Но, если MySQL не слушает по IPv6, то и коннекта не будет. Решение заключается в том, чтобы отредактировать файл с конфигурацией БД блога Ghost таким образом, чтобы хост БД был указан везде явно в виде строки IPv4.
Настройки содержается в файле:
/var/www/ghost/config.production.json
Строку //localhost// нужно заменить на //127.0.0.1//
После замены можно перезапустить движок Ghost.
sudo -i -u ghost-mgr
ghost restart
{{tag>Ghost Blog Backup Nginx}}