Изменения документа Установка SQL REST Proxy сервиса
Редактировал(а) PROSTO:СКУД 2026/09/16 13:37
От версии 12.1
отредактировано PROSTO:СКУД
на 2026/07/22 08:43
на 2026/07/22 08:43
Изменить комментарий:
К данной версии нет комментариев
К версии 11.1
отредактировано PROSTO:СКУД
на 2026/07/22 08:30
на 2026/07/22 08:30
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -173,11 +173,6 @@ 173 173 174 174 И переместите его в каталог /etc/sql-proxy/certs 175 175 176 -Далее запустим скрипт `generate_certs.sh` и назначим права на созданные файлы сертификатов 177 -># sudo chown root:sqlproxy /etc/sql-proxy/certs/key.pem /etc/sql-proxy/certs/cert.pem 178 -># sudo chmod 640 /etc/sql-proxy/certs/key.pem 179 -># sudo chmod 644 /etc/sql-proxy/certs/cert.pem 180 - 181 181 === 3.4 Создание виртуального окружения=== 182 182 183 183 ># sudo python3 -m venv /opt/sql-proxy/venv ... ... @@ -200,109 +200,4 @@ 200 200 ># sudo /opt/sql-proxy/venv/bin/python -c "import fastapi, uvicorn, sqlalchemy, psycopg2, pymssql, pymysql; print('OK')" 201 201 202 202 203 -3.6 Настройка конфигурации 204 - 205 -В проекте есть `.env.example`. Для промышленного сервера лучше хранить конфигурацию в `/etc/sql-proxy/sql-proxy.env`, а не в каталоге приложения. 206 - 207 -Создайте файл: 208 - 209 -># sudo nano /etc/sql-proxy/sql-proxy.env 210 - 211 -И перенестите в него содержимое из примера (`.env.example`) либо заполните свое: 212 -># API Key для аутентификации запросов 213 -># API_KEY=skud_proxy_19e1d5c545b55bdb3459281bd3a1c06a29c467c5645b3ceb748bb2589a5e0d46 214 - 215 ->## Ограничения 216 -># MAX_ROWS_LIMIT=10000 217 -># DEFAULT_ROWS_LIMIT=1000 218 - 219 ->## Пул соединений 220 -># POOL_SIZE=10 221 -># MAX_OVERFLOW=20 222 -># POOL_TIMEOUT=30 223 -># POOL_RECYCLE=3600 224 -># POOL_PRE_PING=true 225 - 226 ->## Таймауты 227 -># QUERY_TIMEOUT=300 228 -># CONNECTION_TIMEOUT=30 229 - 230 ->## SSL/TLS 231 -># SSL_ENABLED=true 232 -># SSL_CERTFILE=/app/certs/cert.pem 233 -># SSL_KEYFILE=/app/certs/key.pem 234 - 235 ->## Сервис 236 -># SERVICE_PORT=8443 237 -># PROMETHEUS_PORT=9090 238 - 239 -Далее назначим права: 240 - 241 -># sudo chown root:sqlproxy /etc/sql-proxy/sql-proxy.env 242 -># sudo chmod 640 /etc/sql-proxy/sql-proxy.env 243 - 244 -3.6 Настройка запуска через systemd 245 - 246 -Создадим unit: 247 - 248 -># sudo nano /etc/systemd/system/sql-proxy.service 249 - 250 -Содержимое файла: 251 - 252 - 253 -># [Unit] 254 -># Description=P-SKUD SQL REST Proxy Service 255 -># After=network-online.target 256 -># Wants=network-online.target 257 - 258 -[Service] 259 -Type=simple 260 -User=sqlproxy 261 -Group=sqlproxy 262 - 263 -WorkingDirectory=/opt/sql-proxy 264 -EnvironmentFile=/etc/sql-proxy/sql-proxy.env 265 -Environment=PYTHONUNBUFFERED=1 266 - 267 -ExecStart=/opt/sql-proxy/venv/bin/uvicorn app.main:app --host **IP_ВАШЕГО_СЕРВЕРА** --port 8443 --ssl-keyfile /etc/sql-proxy/certs/key.pem --ssl-certfile /etc/sql-proxy/certs/cert.pem 268 - 269 -Restart=on-failure 270 -RestartSec=5 271 -TimeoutStartSec=30 272 -TimeoutStopSec=30 273 - 274 -NoNewPrivileges=true 275 -PrivateTmp=true 276 -ProtectHome=true 277 -ProtectSystem=strict 278 -ProtectKernelTunables=true 279 -ProtectKernelModules=true 280 -ProtectControlGroups=true 281 -RestrictSUIDSGID=true 282 -LockPersonality=true 283 -UMask=0027 284 - 285 -ReadWritePaths=/var/lib/sql-proxy /var/log/sql-proxy 286 -ReadOnlyPaths=/etc/sql-proxy /opt/sql-proxy 287 - 288 -StandardOutput=journal 289 -StandardError=journal 290 - 291 -[Install] 292 -WantedBy=multi-user.target 293 -``` 294 - 295 -Включить службу: 296 - 297 -```bash 298 -sudo systemctl daemon-reload 299 -sudo systemctl enable --now sql-proxy 300 -``` 301 - 302 -Проверить: 303 - 304 -```bash 305 -sudo systemctl status sql-proxy 306 - 307 - 308 - 198 +