docs: проверка после установки, без привязки к домену
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -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
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user