Як встановити 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:root /var/www/ваш_домен/html
Якщо ви створюєте окремого користувача для вашого сайту, то замість root-а вкажіть потрібного користувача.
Якщо не вносилися зміни в umask, то права будуть задані коректні, щоб перевірити:
chmod -R 755 /var/www/ваш_домен
Після перевірки створюємо шаблон сторінки 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 готовий до обслуговування контенту вашого сайту.
Можливо, вас зацікавить
Як отримати бекап сайту і відновити дані?
Про те, що може призвести до втрати даних сайту, про всі нюанси бекапів та...
Оновлено: 15.03.2024
|Що таке PIN-код підтримки в HostPro?
При зверненні до техпідтримки Hostpro нам може знадобитися підтвердження вашого облікового запису, перш ніж...
Оновлено: 14.03.2024
|Як додати фавікон на WordPress сайт
У цій статті ми розглянемо найактуальнішу інформацію, станом на початок 2024 року, як просто...
Оновлено: 22.02.2024
|Як встановити WP-CLI. Шпаргалка з основними командами
WP-CLI (WP Command Line Interface) – утиліта для роботи із сайтами на WordPress, яка...
Оновлено: 23.01.2024
|
Наш телеграм
з важливими анонсами, розіграшами й мемами
Приєднатися