Як встановити 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 listAvailable applications:Nginx FullNginx HTTPNginx HTTPSOpenSSHЯк результат отримуємо відображення трьох профілів Nginx:
- Nginx Full: відкрити як незахищене з’єднання (80-й порт) так і захищене (443-й порт).
 - Nginx HTTP: відкрити виключно незахищене з’єднання (на 80 порт).
 - Nginx HTTPS: відкрити захищене з’єднання (порт 443).
 
Оскільки на Nginx спочатку не налаштована робота по захищеному з’єднанню, для початку вмикаємо трафік по 80 порту. Для того, щоб увімкнути, виконуємо:
ufw allow 'Nginx HTTP'Перевірка статусу профілю:
ufw statusОтримуємо висновок, що трафік HTTP дозволений:
Status: activeTo 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 готовий до обслуговування контенту вашого сайту.
Можливо, вас зацікавить
						 
						Як встановити WP-CLI. Шпаргалка з основними командами
WP-CLI (WP Command Line Interface) – утиліта для роботи із сайтами на WordPress, яка...
| Оновлено: 10.10.2025
						 
						Налаштування власних NS для тарифів Реселінг Хостингу
На тарифах Реселінг Хостингу в HostPro ви можете розміщувати клієнтські сайти під власним брендом....
| Оновлено: 17.09.2025
						 
						Як переглянути логи сервера на віртуальному хостингу
Чи траплялося вам, що сайт раптово перестає працювати без жодних очевидних причин? Ви вже...
| Оновлено: 22.07.2025
						 
						Як увімкнути Maintenance Mode на сайті WordPress?
Maintenance Mode – це режим технічного обслуговування сайту. Коли він активний, при спробі зайти...
| Оновлено: 06.05.2025
Наш телеграм
з важливими анонсами, розіграшами й мемами
Приєднатися