Як налаштувати блоки серверів Nginx (віртуальні хости) на Rocky Linux 9
Вступ
Rocky Linux 9 – це стійка та надійна операційна система, яка ідеально підходить для запуску веб-серверів. Nginx – це високопродуктивний веб-сервер з відкритим кодом, який широко використовується для обслуговування статичного та динамічного контенту. У цьому посібнику ми детально розглянемо процес налаштування блоків серверів Nginx (віртуальних хостів) на Rocky Linux 9.
Що таке блоки серверів Nginx?
Блоки серверів Nginx, також відомі як віртуальні хости, дозволяють вам обслуговувати кілька веб-сайтів з одного сервера Nginx. Кожен блок сервера має власний набір конфігурацій, таких як ім’я домену, кореневий каталог і порти. Це дозволяє вам легко керувати декількома веб-сайтами з єдиного сервера Nginx.
Крок 1: Установка Nginx на Rocky Linux 9
Першим кроком є установка Nginx на ваш сервер Rocky Linux 9. Використайте наступну команду:
bash
sudo dnf install nginx
Після завершення установки Nginx буде запущено автоматично. Щоб перевірити, чи успішно він працює, виконайте команду:
bash
sudo systemctl status nginx
Крок 2: Налаштування блоків серверів Nginx
Після установки Nginx нам потрібно налаштувати блоки серверів. Конфігураційні файли Nginx зберігаються в каталозі /etc/nginx/
. Для налаштування блоків серверів ми будемо працювати з файлом /etc/nginx/conf.d/
.
Створення конфігураційного файлу
Створіть новий конфігураційний файл для кожного блоку сервера, який вам потрібен. Наприклад, для сайту example.com
ми можемо створити файл /etc/nginx/conf.d/example.com.conf
:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/public_html;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
У цьому прикладі:
* listen 80;
– вказує порт, на якому сервер буде слухати запити.
* server_name example.com www.example.com;
– вказує ім’я домену для сайту.
* root /var/www/example.com/public_html;
– вказує шлях до кореневого каталогу сайту.
* index index.html index.htm index.php;
– вказує файли, які будуть обслуговуватись за замовчуванням.
* location / {}
– визначає правила для обробки запитів до кореневого каталогу.
* location ~ \.php$ {}
– визначає правила для обробки запитів до PHP-файлів.
Тестування та перезапуск Nginx
Після налаштування блоків серверів перевірте конфігурацію на помилки:
bash
sudo nginx -t
Если все в порядке, перезапустите Nginx:
bash
sudo systemctl restart nginx
Крок 3: Налаштування доменів в DNS
Після налаштування Nginx потрібно налаштувати DNS-записи для ваших доменів. Це дозволить користувачам отримати доступ до ваших сайтів за допомогою їх імен доменів.
Налаштування A-записів
Створіть A-записи для кожного домену, який ви хочете обслуговувати. A-записи пов’язують ім’я домену з IP-адресою вашого сервера.
Крок 4: Перевірка налаштування
Після налаштування DNS-записів перевірте, чи ваші сайти доступні за їх іменами доменів.
Висновок
У цій статті ми розглянули процес налаштування блоків серверів Nginx на Rocky Linux 9. З використанням блоків серверів ви можете легко керувати декількома веб-сайтами з єдиного сервера Nginx, що дозволяє ефективно розподіляти ресурси та спрощувати адміністрування.
Налаштування блоків серверів Nginx – це лише один крок в створенні надійного та функціонального веб-сервера. Важливо пам’ятати про безпеку, масштабованість та доступність сервера, а також про правильну конфігурацію DNS-записів та кешування.
FAQ
1. Як налаштувати SSL-сертифікат для блоку сервера Nginx?
Щоб налаштувати SSL-сертифікат, вам потрібно отримати його від довіреного центру сертифікації, а потім встановити на ваш Nginx-сервер. Ви можете використовувати інструменти, такі як Let’s Encrypt, щоб автоматизувати цей процес.
2. Як обслуговувати незвичайний порт за допомогою блоків серверів Nginx?
Ви можете обслуговувати незвичайний порт, змінивши значення listen
у конфігураційному файлі блоку сервера. Наприклад:
server {
listen 8080;
інші параметри ...
}
3. Як налаштувати кешування для блоків серверів Nginx?
Nginx має вбудовані можливості кешування, які ви можете використовувати для поліпшення продуктивності. Ви можете налаштувати кеш для статичного контенту, наприклад зображень та CSS-файлів, за допомогою директиви location
у конфігураційному файлі блоку сервера.
4. Як налаштувати Nginx для використання з PHP-fpm?
Для обслуговування динамічного контенту за допомогою PHP вам потрібно встановити та налаштувати PHP-fpm, а потім інтегрувати його з Nginx. Це включає налаштування блоку сервера для обробки PHP-запитів та конфігурацію PHP-fpm для спілкування з Nginx.
5. Чи можна використовувати блоки серверів Nginx для обслуговування API?
Так, блоки серверів Nginx можна використовувати для обслуговування API. Вам потрібно налаштувати Nginx для обробки запитів до API та передачі їх через проксі до сервера API.
6. Як додати віртуальний хост до існуючого сервера Nginx?
Створіть новий конфігураційний файл для блоку сервера, як описано вище, і додайте його до каталогу /etc/nginx/conf.d/
. Перевірте конфігурацію та перезапустіть Nginx.
7. Як налаштувати доступ до блоку сервера за допомогою субдомену?
Створіть конфігураційний файл блоку сервера для субдомену, визначивши його ім’я в параметрі server_name
. Також налаштуйте DNS-записи для субдомену, щоб вони вказували на ваш сервер.
8. Як налаштувати Nginx для обслуговування статичного контенту з CDN?
Ви можете використовувати директиву location
в конфігураційному файлі блоку сервера, щоб перенаправити запити до статичного контенту до CDN.
9. Як налаштувати Nginx для обслуговування різних веб-сайтів на різних портах?
Ви можете визначити різні порти для кожного блоку сервера, використовуючи параметр listen
. Наприклад, для сайту example.com
можна використовувати порт 80, а для сайту example.net
– порт 8080.
10. Як використовувати директиву try_files
в Nginx?
Директива try_files
дозволяє Nginx перевірити наявність файлу або каталогу за заданим шляхом. Якщо файл або каталог не знайдено, Nginx може перенаправити запит до іншого URL, виконати інше завдання або повернути помилку.
Теги: Nginx, Rocky Linux 9, веб-сервер, віртуальний хост, блоки серверів, конфігурація, DNS, SSL, PHP-fpm, CDN, API, безпека, масштабованість, доступність, кешування.