Введіть ім'я домену:
.ua .com.ua .in.ua .org.ua
.ru .com .net .org
Показати всі домени

Налаштування віртуальних хостів Nginx

Відповіді на запитання від компанії "Український хостинг".

Налаштування віртуальних хостів Nginx у CentOS 7

Для керування індивідуальними налаштуваннями окремих сайтів Nginx використовує блоки server, які називають віртуальними хостами. Віртуальні хости дозволяють розміщувати декілька сайтів із різними конфігураціями на одному сервері. Перед виконанням інструкції необхідно попередньо налаштувати веб-сервер Nginx або повний стек LEMP.

Також рекомендується створити не root користувач з доступом до sudo.

В інструкції використовується текстовий редактор nano, для якого потрібно виконати команду:

yum install nano
Перед виконанням основних команд необхідно підключитися до сервера за SSH .
Процедура налаштування віртуальних хостів Nginx у CentOS 7 складається з наступних кроків:

  1. Створюємо структуру каталогів для зберігання даних сайтів (далі замість faq-website.ml та faq-websit2.ml необхідно вказувати своє доменне ім'я):
    sudo mkdir -p /var/www/faq-website.ml/html
    sudo mkdir -p /var/www/faq-website2.ml/html
  2. Передаємо права поточному користувачеві, щоб він міг змінювати дані:
    sudo chown -R $USER:$USER /var/www/faq-website.ml/html
    sudo chown -R $USER:$USER /var/www/faq-website2.ml/html
    Змінна $USER автоматично вказує ім'я поточного користувача.
  3. Змінюємо привілеї та відкриваємо контент для читання:
    sudo chmod -R 755 /var/www
  4. Створюємо тестову сторінку index.html для першого сайту:
    nano /var/www/faq-website.ml/html/index.html
  5. Поміщаємо до неї наступний код:
    <html>
    <head>
    <title>Welcome to faq-website.ml!
    </head>
    <body>
    <h3>Welcome to faq-website.ml!</h3>
    </body>
    </html>
    </div>
    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.
  6. Створюємо тестову сторінку index.html для другого сайту:
    nano /var/www/faq-website2.ml/html/index.html
    Поміщаємо до неї наступний код:
    <html>
    <head>
    <title>Welcome to faq-website2.ml!</title>
    </head>
    <body>
    <h3>Welcome to faq-website2.ml!</h3>
    </body>
    </html>
    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.
  7. Створюємо каталог для зберігання файлів хостів (sites-available), а також каталог, що надає Nginx список хостів, які потрібно обслуговувати (sites-enabled):
    sudo mkdir /etc/nginx/sites-available
    sudo mkdir /etc/nginx/sites-enabled
    Відкриваємо головний конфігураційний файл Nginx:
    sudo nano /etc/nginx/nginx.conf
    І додаємо в кінець блоку http {} наступні рядки:
    include /etc/nginx/sites-enabled/*.conf; server_names_hash_bucket_size 64;
    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.
  8. Створюємо конфігураційний файл для першого сайту:
    sudo nano /etc/nginx/sites-available/faq-website.ml.conf
    Поміщаємо до нього наступний код:
    server {
    listen 80;
    server_name faq-website.ml www.faq-website.ml;
    location / {
    root /var/www/faq-website.ml/html;
    index index.html index.htm;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }
    }
    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.
  9. Створюємо конфігураційний файл для другого сайту:
    sudo nano /etc/nginx/sites-available/faq-website2.ml.conf
    Поміщаємо до нього наступний код:
    server {
    listen 80;
    server_name faq-website2.ml www.faq-website2.ml;
    location / {
    root /var/www/faq-website2.ml/html;
    index index.html index.htm;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }
    }
    Зберігаємо зміну у файлі, натиснувши клавіші Ctrl+x , потім клавішу y і потім клавішу Enter.
  10. Створюємо символьне посилання для кожного блоку:
    sudo ln -s /etc/nginx/sites-available/faq-website.ml.conf /etc/nginx/sites-enabled/faq-website.ml.conf
    sudo ln -s /etc/nginx/sites-available/faq-website2.ml.conf /etc/nginx/sites-enabled/faq-website2.ml.conf
  11. Перезавантажуємо Nginx:
    sudo systemctl restart nginx
    Відкриваємо сайти у браузері для перевірки:

Див. також:

Будь ласка, виберіть мову сайту за промовчанням: