Teh Hermit
Trace: • проблемы_и_решения_ghost

Проблемы и решения 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
Ghost, Blog, Backup, Nginx
Previous Next

Teh Hermit

Table of Contents

  

Microsoft

  Active Directory
  Active Directory Certificate Services
  Active Directory Federation Services
  BitLocker
  Terminal Services
  HYPER-V
  Exchange
  Internet Information Services (IIS)
  Storage Spaces Direct
  WSUS
  Windows Server
  Windows Server Core
  Windows
  Windows Admin Center
  Windows Backup
  Windows Firewall
  Windows 11
  Microsoft Office
  IPAM
  NPS и RADIUS
  Office Online
  Microsoft SQL Server
  Microsoft Endpoint Configuration Manager
  PowerShell
  KMS-активация

Unix-like

  Astra Linux
  Asterisk и FreePBX
  SQUID
  Debian
  CentOS
  Ubuntu Server + Desktop
  pfSense
  PostgreSQL
  SSH
  OpenSSL
  Zabbix

  

Hardware

  Keychron
  WakeOnLan
  Серверы HP
  Серверы SNR
  Настройка планшетов Handheld

  

Networking

  Cisco
  D-Link
  Mikrotik
  Keenetic

  

Other

  1С
  Docker
  DokuWiki
  Ghost Blog
  GoodbyeDPI
  Graylog
  VMWare
  ProxMox
  PrivateBin
  Outline VPN
  Wireguard
  Российская криптография
  Р-Виртуализация
  Kaspersky
  FileZilla ftp-сервер
  Soti MobiControl
  SysInternals
  VeraCrypt
  Non-Sucking Service Manager
  NMAP

     

DevOps

  Git
  Gitlab