Як встановити 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 готовий до обслуговування контенту вашого сайту.
Можливо, вас зацікавить
Причини виникнення помилки 502. Як її виправити?
Помилки 5хх означають проблеми на боці сервера. Якщо говорити конкретно про помилку 502, то...
Оновлено: 30.10.2024
|Причини виникнення помилки 403. Як виправити?
Для більшості користувачів інтернету не надто принципово, чому вони не можуть потрапити на сайт....
Оновлено: 23.10.2024
|Причини виникнення помилки 508. Як виправити?
Якщо коротко, помилка 508: Resource Limit Is Reached зазвичай означає, що ваш обліковий запис...
Оновлено: 15.10.2024
|Як вставити картинку в HTML й оптимізувати її для кращого ранжування в Google
Погодьтеся, візуальні ефекти відіграють важливу роль у створенні привабливого та функціонального інтерфейсу. Тож у...
Оновлено: 26.09.2024
|
Наш телеграм
з важливими анонсами, розіграшами й мемами
Приєднатися