В мире веба есть два лагеря: те, кто работает с Nginx, и те, кто пока что с ним не сталкивался — но всё впереди. Nginx — это не магия, а просто быстрый и лёгкий веб-сервер, который не жрёт память как не в себя (привет Apache) и не падает от 200 соединений. Он умеет быть и веб-сервером, и обратным прокси. Всё. Это всё, что тебе надо знать, прежде чем мы его поставим.
И да, забудь про официальные сказки в стиле “высокопроизводительный бла-бла-бла”. Nginx нужен, чтобы твой сайт или API не умерли под нагрузкой и работали быстрее. Всё остальное — второстепенно.
1. Перед тем как лезть в установку
- У тебя должен быть пользователь с
sudo. - Apache или другой веб-сервер не должен жрать порт 80 или 443.
- Если уже сидит Apache — гони его с этих портов или сноси.
2. Ставим Nginx
Ubuntu сама знает, где его взять, так что без танцев:
sudo apt update
sudo apt install nginx
После этого Nginx поднимется сам. Проверить, что он жив:
sudo systemctl status nginx
Если видишь зелёное active (running) — значит сервер встал. Если нет — смотри логи, а не гугли "почему не работает Ubuntu".
3. Настраиваем брандмауэр
Если у тебя включен UFW — открой порты 80 (HTTP) и 443 (HTTPS):
sudo ufw allow 'Nginx Full' Проверка:
sudo ufw status
Видишь Nginx Full ALLOW? Значит, можно лезть через браузер.
4. Проверяем, что сервер живой
Открой в браузере:
http://<твой_IP> Если видишь дефолтную страницу Nginx — всё ок. Если нет, то либо фаервол, либо DNS, либо руки.
5. Управление сервисом без плясок
Это systemd, тут всё по стандарту:
sudo systemctl stop nginx # стоп
sudo systemctl start nginx # старт
sudo systemctl restart nginx # перезапуск
sudo systemctl reload nginx # перезагрузка конфигов
sudo systemctl disable nginx # убрать из автозагрузки
sudo systemctl enable nginx # вернуть в автозагрузку Перезапуск нужен, если всё упало. Reload — когда менял конфиг и хочешь без даунтайма.
6. Где всё лежит и как не потеряться
- Главный конфиг:
/etc/nginx/nginx.conf - Виртуальные хосты (server blocks):
/etc/nginx/sites-available - Активные сайты:
/etc/nginx/sites-enabled(сюда ведут симлинки) - Логи:
/var/log/nginx/access.logи/var/log/nginx/error.log - Повторяющиеся куски конфигов удобно выносить в
/etc/nginx/snippets - Корни сайтов (
webroot) обычно в: /var/www//var/www/html//opt/- или куда тебе удобно, хоть в
/home/user/project
Чтобы сайт заработал: кидаешь конфиг в sites-available, делаешь симлинк в sites-enabled, перезагружаешь Nginx.
7. Лирическое отступление для тех, кто любит усложнять
Да, можно крутить gzip, кеширование, балансировку, HTTP/2 и ещё тонну фич. Но это не сейчас. Сначала подними сервер и убедись, что он отдаёт хоть что-то, кроме ошибок.
8. Финал
Всё. У тебя есть Nginx, он живёт на 80/443 портах, ты знаешь, где его крутить и как он включается/выключается. Дальше — твои приложения, домены и шаманство с конфигами. А если после установки всё равно не работает — смотри логи и не пиши на форумах "помогите срочно".
0 комментариев