Skip to content

Обслуживание сервера ​

Эта страница - для администратора. В повседневной работе сюда заглядывать не нужно: приложение обновляется из панели само. Здесь - что делать с сервером, на котором всё работает.

Обновления идут тремя уровнями - от частых и безопасных к редким. В конце - о резервных копиях.

Приложение - из панели ​

Самое частое и без SSH. Откройте Settings → System Update → Check for Updates, и если вышла новая версия - Update Now. Панель обновится и перезагрузит страницу сама. Подробно - в разделе «Настройки».

Без простоя

Меняется только код приложения - база, настройки и лицензия на месте. Перезапуск - секунды.

Служебное ПО - одной командой ​

Раз в несколько месяцев (обычно ради безопасности). Подключитесь по SSH и запустите:

bash
curl -fsSL https://install.pwahub.org/server-update.sh | sudo bash

Обновление проходит без остановки сайта - сервисы отвечают всё время, а в конце система сама проверяет, что всё поднялось. Команду безопасно запускать повторно.

Операционная система ​

Системные пакеты и ядро - штатными средствами. Подключитесь по SSH под root:

bash
apt update && apt upgrade -y

Проверьте, нужна ли перезагрузка (её просит только обновление ядра - редко):

bash
curl -fsSL https://install.pwahub.org/check-reboot.sh | sudo bash

Если скрипт скажет, что перезагрузка нужна, - перезагрузите в спокойное время: reboot. Система поднимется сама.

Перезагрузка = простой 1-2 минуты

Полная перезагрузка сервера останавливает сайт на минуту-две, пока машина грузится - это дольше, чем короткий рестарт при обновлении приложения, но принцип тот же. На это время остановите налив трафика на ваши PWA (кампании в источниках), иначе клики уйдут в никуда. Делайте перезагрузку в часы наименьшей нагрузки. То же правило действует и для обычных обновлений - см. «Settings → System Update».

Чтобы не копилось

Включите авто-обновления безопасности - критичные патчи будут ставиться сами:

bash
apt install -y unattended-upgrades && dpkg-reconfigure -plow unattended-upgrades

Резервные копии ​

Копии система делает сама, каждую ночь, на том же сервере:

  • База данных - в 03:00. Дамп PostgreSQL со всем, что есть в панели: приложения, домены, пользователи, настройки, пуши, визиты и конверсии. Файл pwa_<дата>.sql.gz в /home/pwa/backups/postgresql/.
  • Файлы витрин - в 03:30. Архив pwa_config_<дата>.tar.gz с конфигами и картинками всех PWA в /home/pwa/backups/pwa_config/.

Хранятся семь последних копий каждого вида, старые удаляются сами (число задаётся переменными BACKUP_POSTGRES_KEEP и BACKUP_PWA_KEEP в /opt/pwa/.env, после правки - docker compose up -d в /opt/pwa). Аналитика отдельно не копируется: статистика пересобирается из базы данных автоматически.

Копию вне расписания - например, перед большими изменениями - можно снять по SSH:

bash
cd /opt/pwa && docker compose exec core php artisan backup:postgres
cd /opt/pwa && docker compose exec core php artisan backup:pwa-config

Копии лежат на том же сервере

Пропадёт сервер - пропадут и они. Регулярно забирайте /home/pwa/backups к себе или в облачное хранилище, а вместе с ней - /opt/pwa/.env (пароли и ключи стека), лендинги из /srv/pwa/whites и /opt/pwa/triggers (файлы лицензии): в ночные копии они не входят.

bash
scp -r root@<IP-сервера>:/home/pwa/backups ./pwa-backups

Восстановление - вручную

Дамп содержит только данные (команды INSERT), поэтому загружать его нужно в базу той же версии с уже созданной структурой и без стартовых записей; архив витрин распаковывается обратно в /srv/pwa/pwa_config. Это редкая операция для администратора - если сомневаетесь, обратитесь к вендору до того, как что-то удалять.