Як встановити Nginx на Ubuntu

Nginx – найбільш популярний веб-сервер, на якому є можливість розміщувати об’ємні сайти з великим трафіком. На відміну від Apache, в Nginx робочі процеси обслуговуються одночасно безліччю з’єднань, мультиплексуючи їх викликами операційної системи, що забезпечує низьке споживання серверних ресурсів. Плюсом є також те, що він може використовуватися як зворотній проксі-сервер. Давайте докладніше розглянемо і допоможемо вам розібратися з тим, як встановити nginx на ubuntu.
Крок 1 – Налаштування веб-сервера Nginx після встановлення
Авторизуйтесь в систему під root-користувачем, щоб почати налаштування. Пакет Nginx доступний в стандартному репозиторії системи Ubuntu. Для початку оновимо в індекс пакетів (apt) (у разі, якщо це перша взаємодія з системою пакетування apt в поточній сесії):
apt update
Далі перейдемо до встановлення Nginx.
apt install nginx
У терміналі з’явиться список встановлених пакетів. Натисніть Y і Enter для продовження інсталяції, і Nginx буде встановлений з усіма його залежностями.
Крок 2 – Налаштування фаервола UFW
Перед тим як тестувати Nginx, потрібно дозволити його трафік в брандмауері ufw. Під час інсталяції Nginx реєструє свій профіль в ufw, в зв’язку з чим відкриття трафіку не доставляє труднощів.
Відкрийте список профілів ufw:
ufw app list
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Як результат отримуємо відображення трьох профілів Nginx:
- Nginx Full: відкрити як незахищене з’єднання (80-й порт) так і захищене (443-й порт).
- Nginx HTTP: відкрити виключно незахищене з’єднання (на 80 порт).
- Nginx HTTPS: відкрити захищене з’єднання (порт 443).
Оскільки на Nginx спочатку не налаштована робота по захищеному з’єднанню, для початку вмикаємо трафік по 80 порту. Для того, щоб увімкнути, виконуємо:
ufw allow 'Nginx HTTP'
Перевірка статусу профілю:
ufw status
Отримуємо висновок, що трафік HTTP дозволений:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Крок 3 – Тест веб-сервера
Після того як буде встановлено Ubuntu 18, Nginx запуститься автоматично. Для перевірки того, що це дійсно так, дізнаємося його статус в ініціалізації systemd.
systemctl status nginx
Отримуємо інформацію про те, що Nginx активний.
Active: active (running) since Sat 2020-07-04 09:28:52 PDT; 2s ago
Другий спосіб – за допомогою посадкової сторінки Nginx. Перевіряємо її в браузері за IP-адресою, яку ви отримували в листі з даними доступів до сервера або по доменному імені. Вводимо IP з листа в браузері, з метою упевнитися що все працює.
http://server_domain_or_IP
Отримуємо типову посадкову сторінку Nginx:
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
Крок 4 – Управління процесами Nginx
Перед операціями зупинки і перезапуску Nginx наполегливо рекомендуємо перевіряти коректність синтаксису його конфігураційних файлів за допомогою такої команди:
nginx -t
Якщо після виконання команди ви отримаєте наступний висновок:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
То можна сміливо переходити до виконання операцій перезапуску Nginx`a.
Після того, як ми запам’ятали це сакральне правило, вивчимо необхідні базові команди з управління веб-сервером. Для зупинки Nginx виконайте:
systemctl stop nginx
Щоб запустити використовуємо:
systemctl start nginx
Щоб перезавантажити:
systemctl restart nginx
Для оновлення налаштувань (в поточній сесії) введіть команду:
systemctl reload nginx
По дефолту з запуском сервера відбувається автоматичне завантаження Nginx. Щоб відключити автоматичний запуск, виконайте:
systemctl disable nginx
Для відновлення автозапуску сервісу, використовуйте команду:
systemctl enable nginx
Перевірити увімкнений або виключений автоматичний запуск:
systemctl is-enabled nginx
Крок 5 – Налаштування віртуальних хостів
На веб-сервері Nginx є можливість використання віртуальних хостів (або по-іншому блоки server) для розділення налаштувань і створення потрібної кількості доменів на одному сервері.
Nginx по дефолту виділяє єдиний активний віртуальний хост для обслуговування каталогу /var/www/html. У разі, якщо необхідно розміщувати більше одного сайту, необхідно додати нові віртуальні хости. Додамо окрему кореневу директорію для нашого нового домену.
Створіть каталог ваш_домен, скориставшись прапором -p для додавання батьківських каталогів:
mkdir -p /var/www/ваш_домен/html
Задамо власника кореневої директорії домену:
chown -R root: /var/www/ваш_домен/html
Якщо ви створюєте окремого користувача для вашого сайту, то замість root-а вкажіть потрібного користувача. Якщо не вносилися зміни в umask, то права будуть задані коректні, щоб перевірити:
cd /var/www/ваш_домен/html
find ./ -type f -exec chmod 644 {} \; -print && find ./ -type d -exec chmod 755 {} \; -print
Це встановить цифрові права 644 на файли та 755 на директорії у /var/www/ваш_домен/html
.
Після перевірки створюємо шаблон сторінки index.html в редакторі vim:
vim /var/www/ваш_домен/html/index.html
Внесіть у файл:
<html>
<head>
<title> Добро пожаловать на ваш_домен!</title>
</head>
<body>
<h1>Success! VirtualHost для ваш_домен работает </h1>
</body>
</html>
Зберігаємо зміни і виходимо.
Крок 6 – Налаштування та адміністрування серверних блоків
Для обслуговування контенту Nginx створюємо файл конфігурації віртуального хоста з вірними директивами. Створимо новий файл:
/etc/nginx/sites-available/ваш_домен
vim /etc/nginx/sites-available/ваш_домен
Внесіть у файл конфігурації зазначені рядки. Вони відповідають стандартним налаштуванням VirtualHost’а, але мають вірний домен і каталог:
server {
listen 80;
listen [::]:80;
root /var/www/ваш_домен/html;
index index.html index.htm index.nginx-debian.html;
server_name ваш_домен www.ваш_домен;
location / { try_files $uri $uri/ =404;
}
}
Зверніть увагу, що root містить шлях нового каталогу, а server_name – новий домен, ваш_домен. Зберігаємо внесені зміни і виходимо з редактора. Активуйте файл, вказавши символьне посилання в каталозі sites-enabled:
ln -s /etc/nginx/sites-available/ваш_домен /etc/nginx/sites-enabled/
На даному етапі ви маєте два віртуальних хоста, які обслуговують запити клієнтів на базі директив listen і server_name:
- ваш_домен обслуговуватиме запити для www.ваш_домен і ваш_домен.
- default відповідатиме на запити по порту 80, якщо вони не відповідають іншим віртуальним хостам.
Щоб уникнути нестачі пам’яті, через додавання додаткових імен, редагуємо значення у файлі /etc/nginx/nginx.conf
. Відкриваємо файл:
vim /etc/nginx/nginx.conf
Розкоментуємо рядок server_names_hash_bucket_size
, прибравши #:
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
Перевіряємо коректність файлу конфігурації Nginx:
nginx-t
Зберігаємо корективи і виходимо. Зміни вступлять в силу після перезавантаження Nginx:
systemctl restart nginx
Як результат, ваш сайт стане обслуговуватися Nginx`ом. Перевірити коректність налаштувань можна за посиланням http://ваш_домен.
Крок 7 – Базові каталоги і файли Nginx
Контент – вміщує контент сайту. Стандартно в ньому зберігається посадкова сторінка. У файлі конфігурації Nginx ви можете вносити зміни по каталогу.
Налаштування сервера
/etc/nginx
Каталог налаштувань nginx (тут знаходяться всі конфігураційні файли).
/etc/nginx/nginx.conf
Основний конфігураційний файл Nginx, містить глобальні налаштування веб-сервера.
/etc/nginx/sites-available
Каталог, що включає в себе блоки server (віртуальні хости) по кожному сайту окремо. Щоб Nginx обробляв ці блоки, потрібно розмістити посилання на них в каталозі sites-enabled. Зазвичай вживається для налаштування віртуальних хостів.
/etc/nginx/sites-enabled/
Каталог, який зберігає включені блоки server. Для активації блоку, потрібно створити символьне посилання на файл, розміщений в каталозі sites-available.
/etc/nginx/snippets
Містить фрагменти налаштувань (потенційно повторювані сегменти конфігурації).
Логи
/var/log/nginx/access.log
Лог зберігає запити, які надходять до веб-серверу Nginx (можливо задати іншу поведінку).
/var/log/nginx/error.log
Відображає повідомлення про помилки Nginx .
Висновок
У цьому гайді ми розібрали основні поради і рекомендації з налаштування web-сервера Nginx після встановлення. Nginx готовий до обслуговування контенту вашого сайту.
Можливо, вас зацікавить

Як встановити OpenCart на shared-хостинг та VPS
OpenCart – дуже популярна система управління контентом, яку зазвичай використовують для створення інтернет-магазинів. Вона...
Оновлено: 12.03.2025
|
Причини виникнення помилки 502. Як її виправити?
Помилки 5хх означають проблеми на боці сервера. Якщо говорити конкретно про помилку 502, то...
Оновлено: 30.10.2024
|
Причини виникнення помилки 403. Як виправити?
Для більшості користувачів інтернету не надто принципово, чому вони не можуть потрапити на сайт....
Оновлено: 23.10.2024
|
Наш телеграм
з важливими анонсами, розіграшами й мемами
Приєднатися