Ты, наверное, пришёл сюда не за “высокопроизводительным веб-сервером с открытым исходным кодом”, а потому что надо, чтобы Nginx тупо встал и работал.
Без этих ваших “предпосылок” и историй о том, как Apache был велик, а потом Nginx всё победил.
Ubuntu 16.04 старая, но жива. Nginx на ней встанет в два притопа, три прихлопа, но с нюансами.
1. Почисти порт 80 и 443
Если у тебя на этих портах уже висит Apache или ещё какая-то морда, выруби её к чёрту:
sudo systemctl stop apache2
sudo systemctl disable apache2
И да, убедись, что ты в системе с правами sudo. Если нет — ну, значит, это не твой сервер.
2. Самая ленивая установка из стандартного репозитория
Обновляем индексы пакетов и ставим Nginx:
sudo apt update
sudo apt install nginx
Проверяем, жив ли он:
sudo systemctl status nginx
Если там зелёный Active: running — значит, дышит. Если красное — ты либо накосячил, либо порт занят, либо у тебя руки дрожат после пятницы.
Версию глянуть:
nginx -v
3. Брандмауэр (если он у тебя включен)
UFW — штука полезная, но любит всё закрывать, даже когда ты не просил. Открой порты для HTTP и HTTPS:
sudo ufw allow 'Nginx Full' Проверяешь:
sudo ufw status
В списке должно появиться что-то вроде:
Nginx Full ALLOW
Если нет — ну, значит, либо UFW выключен, либо ты вообще без фаервола живёшь (и спишь спокойно до первого ботнета).
4. Проверка
Браузер, IP сервера — и должна вылезти унылая дефолтная страница Nginx. Это значит, что сервер поднялся и слушает.
5. Если нужен свежий Nginx, а не музейный экспонат
Ubuntu 16.04 хранит старые пакеты. Если хочешь поновее — подключай PPA от Nginx:
sudo apt install software-properties-common
sudo add-apt-repository ppa:nginx/stable
sudo apt update
sudo apt install nginx
Потом снова проверка версии:
nginx -v
6. Управление сервисом
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 # вернуть автозапуск 7. Конфиги — не потеряйся
Всё лежит в /etc/nginx/. Главный файл — nginx.conf. Но трогать его лучше только трезвым.
Виртуальные хосты живут в:
/etc/nginx/sites-available/— тут лежит то, что можно включить/etc/nginx/sites-enabled/— тут лежит то, что реально включено
Линкуем так:
sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/
Повторяющиеся куски (SSL-настройки, редиректы и т.д.) — кидаешь в /etc/nginx/snippets/ и потом включаешь в конфиг.
Логи — /var/log/nginx/:
access.log— кто к тебе ломитсяerror.log— где ты облажался
8. Где хранить сайт
Веб-корень можно воткнуть куда угодно, но чаще всего:
/var/www/<site_name>
/home/<user>/<site_name>
/opt/<site_name>
Главное — права на папку должны быть у того пользователя, под которым работает Nginx (обычно www-data).
Итог
Поставил, запустил, проверил. Всё. Теперь можешь ставить туда свой сайт, API или просто картинку кота на главной, лишь бы Nginx крутился и не жаловался.
А “поздравляем, вы успешно установили” — это в других блогах. Тут просто — сделал и пошёл.
0 комментариев