Сервер сайта: различия между версиями
Nepike (обсуждение | вклад) Страница о сервере сайта (VPS) |
Nepike (обсуждение | вклад) Лишняя пустая строка |
||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 48: | Строка 48: | ||
|} | |} | ||
Контейнеры слушают только <code>127.0.0.1</code>: снаружи до них не достучаться, к ним ходит только nginx. | Контейнеры слушают только <code>127.0.0.1</code>: снаружи до них не достучаться, к ним ходит только nginx. | ||
== Сертификаты == | == Сертификаты == | ||
| Строка 59: | Строка 57: | ||
== Как добавить новый сайт == | == Как добавить новый сайт == | ||
# | # Добавить в Cloudflare DNS-запись, указывающую на <code>91.218.246.80</code> (как — см. [[Домены и DNS#Добавить поддомен]]). | ||
# Поднять сервис так, чтобы он слушал только <code>127.0.0.1:<свободный порт></code>. | # Поднять сервис так, чтобы он слушал только <code>127.0.0.1:<свободный порт></code>. | ||
# Создать конфиг в <code>/etc/nginx/sites-available/</code>, включить его ссылкой в <code>sites-enabled/</code>, проверить и перезагрузить nginx: | # Создать конфиг в <code>/etc/nginx/sites-available/</code>, включить его ссылкой в <code>sites-enabled/</code>, проверить и перезагрузить nginx: | ||
| Строка 77: | Строка 75: | ||
{{TODO|Мониторинга нет: если сайт или сервер упадёт, автоматически об этом никто не узнает}} | {{TODO|Мониторинга нет: если сайт или сервер упадёт, автоматически об этом никто не узнает}} | ||
[[Категория: | [[Категория:Сайт и онлайн-сервисы]] | ||
Текущая версия от 00:27, 28 сентября 2026
Сервер сайта — арендованный виртуальный сервер (VPS), на котором работают Студсайт и эта вики.
Коротко
| Адрес | inbicst.ru, IP 91.218.246.80
|
|---|---|
| Хостинг | HostKey, панель управления — invapi.hostkey.ru. Сервер оформлен на личный аккаунт главы отдела (Nepike). |
| Регион | Россия |
| Оплата | 2 856 ₽ в год, платит студсовет. Следующий платёж — 29 октября 2026. |
| Система | Ubuntu 24.04 LTS |
| Ресурсы | 2 ядра, 1,8 ГБ оперативной памяти (+ 2 ГБ swap), диск 58 ГБ |
Доступ
Вход по SSH:
ssh <пользователь>@inbicst.ru
Аккаунты на сервере создаёт глава отдела — когда появляется задача, связанная с сервером, и человек готов за неё взяться. Для управления контейнерами пользователя добавляют в группу docker; команды через sudo требуют пароль пользователя.
Что на нём работает
| Что | Где | Зачем |
|---|---|---|
| nginx | на самом сервере (не в Docker), конфиги в /etc/nginx/sites-available/ |
Принимает все HTTP(S)-запросы и раздаёт их по сайтам: сам отвечает за HTTPS и проксирует запросы в контейнеры. |
| Студсайт | Docker Compose, проект knt в /srv/knt, порт 127.0.0.1:8001 |
knt-mipt.ru и старые адреса inbicst.ru, fnbic.ru, new.knt-mipt.ru; files.inbicst.ru. |
| Вики | Docker Compose, проект itwiki в /srv/knt-wiki, порт 127.0.0.1:8080 |
wiki.inbicst.ru. Конфигурация — в репозитории github.com/Nepike/knt-wiki, там же в README — как обновлять, делать бэкап и восстанавливаться. |
| certbot | на самом сервере | Бесплатные HTTPS-сертификаты Let's Encrypt; продлевает их сам по таймеру certbot.timer.
|
| ufw | на самом сервере | Фаервол: снаружи открыты только SSH (22), HTTP (80) и HTTPS (443). Всё остальное слушает только внутри сервера. |
| logrotate | на самом сервере | Ротация логов, чтобы они не съели диск. |
Контейнеры слушают только 127.0.0.1: снаружи до них не достучаться, к ним ходит только nginx.
Сертификаты
Сертификаты выпускает certbot через плагин nginx и продлевает сам. Если нужно посмотреть или проверить:
sudo certbot certificates # какие есть и до какого числа действуют
sudo certbot renew --dry-run # пробное продление, ничего не меняет
Как добавить новый сайт
- Добавить в Cloudflare DNS-запись, указывающую на
91.218.246.80(как — см. Домены и DNS#Добавить поддомен). - Поднять сервис так, чтобы он слушал только
127.0.0.1:<свободный порт>. - Создать конфиг в
/etc/nginx/sites-available/, включить его ссылкой вsites-enabled/, проверить и перезагрузить nginx:sudo nginx -t && sudo systemctl reload nginx
- Выпустить сертификат:
sudo certbot --nginx -d новый.домен
Порт наружу в ufw открывать не нужно: сайт всё равно идёт через nginx на 443.
Память
Памяти на сервере мало, и это главное ограничение. Больше всего занимает студсайт (около 800 МБ), вики урезана примерно до 150 МБ, swap используется постоянно. Прежде чем запускать на сервере что-то новое, посмотрите, сколько свободно:
free -h
docker stats --no-stream