docs: проверка после установки, без привязки к домену

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shop
2026-05-16 21:15:59 +03:00
parent 1ce40fd40a
commit cb3b8bc49f
+55 -8
View File
@@ -30,9 +30,9 @@ apt install -y git curl build-essential python3
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs
# 3. Клонирование (замените URL при необходимости)
# 3. Клонирование (подставьте URL вашего репозитория)
cd /opt
git clone https://git.evilfox.cc/test/shop10.git shop
git clone <URL_РЕПОЗИТОРИЯ> shop
cd shop
# 4. Настройка окружения
@@ -47,7 +47,7 @@ npm install --omit=dev
npm start
```
Без Caddy сайт на **http://IP:3000**. С Caddy и доменом**https://ваш-домен**.
Без Caddy сайт на **http://IP_СЕРВЕРА:3000**. С Caddy — **https://ваш-домен** (любой, указанный в `Caddyfile`).
В `.env` для production задайте (уже есть в `.env.example`):
@@ -97,6 +97,41 @@ curl -s http://127.0.0.1:3000/health
---
## Проверка после установки
Перед настройкой Caddy убедитесь, что Node отвечает локально:
```bash
cd /opt/shop
systemctl restart shop
sleep 1
curl -s http://127.0.0.1:3000/health
# {"ok":true,"service":"shop"}
ss -tlnp | grep 3000
# LISTEN ... 127.0.0.1:3000 ... node
journalctl -u shop -n 5 --no-pager
# должна быть строка: Магазин: http://127.0.0.1:3000
```
Если в логе только «База уже содержит товары…» и служба сразу останавливается — обновите код: `git pull` (нужна актуальная версия `seed.js`).
После успешной проверки настройте Caddy и выполните:
```bash
systemctl reload caddy
```
Обновление на сервере одной командой:
```bash
bash /opt/shop/scripts/server-update.sh
```
---
## Caddy — SSL и reverse proxy (рекомендуется)
[Caddy](https://caddyserver.com/) автоматически выпускает и продлевает сертификаты Let's Encrypt.
@@ -151,7 +186,7 @@ systemctl reload caddy
systemctl status caddy
```
Сайт: **https://shop.example.com**
Сайт откроется по домену из блока `Caddyfile` (в примере — `shop.example.com`).
Логи Caddy: `journalctl -u caddy -f`
@@ -194,6 +229,7 @@ curl -v http://127.0.0.1:3000/health
| В `.env` нет `HOST`/`PORT` | `HOST=127.0.0.1`, `PORT=3000`, затем `systemctl restart shop` |
| Неверный путь к `node` в systemd | `which node` → подставьте в `ExecStart` в `/etc/systemd/system/shop.service` |
| Caddy стартовал раньше shop | `cp deploy/caddy-after-shop.conf /etc/systemd/system/caddy.service.d/shop.conf` и `daemon-reload` |
| В логе seed и сразу `Deactivated` | `git pull` — старый `seed.js` вызывал `process.exit` до старта сервера |
**Быстрое восстановление:**
@@ -235,11 +271,20 @@ git pull
```bash
cd /opt/shop
systemctl stop shop
bash scripts/server-update.sh
```
Или вручную:
```bash
cd /opt/shop
git config --global --add safe.directory /opt/shop
git pull
npm install --omit=dev
systemctl start shop
# Caddy перезагружать не нужно, если Caddyfile не менялся
mkdir -p data && chown -R www-data:www-data data
systemctl restart shop
curl -s http://127.0.0.1:3000/health
systemctl reload caddy # если меняли Caddyfile
```
---
@@ -294,6 +339,7 @@ deploy/
shop.service — unit для systemd
scripts/
diagnose-502.sh — проверка при 502
server-update.sh — git pull + restart + health
src/
server.js — точка входа
db.js — схема SQLite
@@ -306,5 +352,6 @@ src/
## Репозиторий
```bash
git clone https://git.evilfox.cc/test/shop10.git
git clone <URL_РЕПОЗИТОРИЯ> shop
cd shop
```