2.6 KiB
2.6 KiB
ParleyChat
простой чат, можно обмениваться только текстом
Рекомендации
- настроить админа в бд в методе initDB() сразу
- либо можно помнять прям в cli
sqlite3 /opt/parley/chat.db "UPDATE users SET password = 'новый_пароль' WHERE username = 'admin';" - очиститьь переменные на всякий случай
$env:GOOS = "linux"
$env:GOARCH = "amd64"
$env:CGO_ENABLED = "0"
- сбилдить бинарник
go build -o parley main.go
- положить на сервер
- сделать его исполняемым
- написать к нему сервис и сделать enabled(см. сервис)
- настроить nginx(конфиг)
- дать nginx разрешение на чтение файлов фронта (в зависимости от того где лежит приложение -
sudo chmod -R 755 /opt/parley/static/ и sudo chown -R www-data:www-data /opt/parley/static/) - установить sqlite: apt-get install -y sqlite3
- начать использвать
конфиги
nginx /etc/nginx/sites-available/default
- СДЕЛАЙ БЭКАП ПРЕЖДЕ ЧЕМ ЧТО-ТО ДЕЛАТЬ!!!!!
# --- PARLEY CHAT ---
location = /parley {
return 301 /parley/;
}
location /parley/ {
proxy_pass http://127.0.0.1:3100/parley/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Prefix /parley;
}
location /parley/static/ {
alias /opt/parley/static/;
expires 30d;
add_header Cache-Control "public, immutable";
}
# --- PARLEY CHAT END ---
- проверь что изменения в nginx применились успешно и перезагрузи
sudo nginx -t
sudo systemctl reload nginx
сервис
sudo nano /etc/systemd/system/parley.service
[Unit]
Description=Parley Chat Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/parley
Environment="BASE_PATH=/parley"
ExecStart=/opt/parley/parley
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
запуск сервиса
sudo systemctl daemon-reload
sudo systemctl enable parley
sudo systemctl start parley
sudo systemctl status parley
# проверим что слушает порт
sudo netstat -tlnp | grep 3100