Nginx (Ubuntu server install)

Автор | 18.03.2023

Щоб додати локальний сайт на сервері Ubuntu з веб-сервером Nginx, потрібно виконати наступні кроки:

Встановити Nginx:

sudo apt update
sudo apt install nginx

Створити каталог для збереження файлів сайту:

sudo mkdir -p /var/www/example.com/html

Надати права на запис для цього каталогу:

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com

Створити файл конфігурації для сайту в директорії sites-available:

sudo nano /etc/nginx/sites-available/example.com

Зміст файлу має бути наступним:

server {
    listen 80;
    listen [::]:80;
    root /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html;
    server_name example.com www.example.com;
    location / {
        try_files $uri $uri/ =404;
    }
}

Створити символьне посилання для цього файлу конфігурації в директорії sites-enabled:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Перевірити синтаксис файлу конфігурації:

sudo nginx -t

Перезапустити сервіс Nginx, щоб зміни вступили в силу:

sudo systemctl restart nginx

Додати запис у файл hosts вашої локальної машини (на якій ви збираєтеся переглядати сайт) для того, щоб доменне ім’я сайту спрямовувалося на IP-адрес сервера:

sudo nano /etc/hosts

Додати наступний рядок в кінці файлу:

SERVER_IP_ADDRESS example.com
  1. Замінити SERVER_IP_ADDRESS на реальний IP-адрес вашого сервера.

Тепер ваш локальний сайт доступний за адресою http://example.com/ з будь-якого пристрою, який знаходиться в тій же мережі, що й ваш сервер.

Щоб додати кілька локальних сайтів на сервері з nginx, потрібно виконати наступні кроки:

  1. Створити каталоги для сайтів. Наприклад, для першого сайту можна створити каталог /var/www/site1, а для другого – /var/www/site2.
  2. Створити файли конфігурації для кожного сайту у каталозі /etc/nginx/sites-available. Для цього можна використати команду sudo nano /etc/nginx/sites-available/site1 для створення та відкриття файлу конфігурації сайту з назвою “site1”. У файлі конфігурації потрібно вказати наступне:
server {
    listen 80;
    server_name site1.local;
    root /var/www/site1;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
}
  1. Аналогічно створити файл конфігурації для другого сайту /etc/nginx/sites-available/site2, і вказати в ньому відповідні налаштування для другого сайту.
  2. Створити символьні посилання на файли конфігурації кожного сайту у каталозі /etc/nginx/sites-enabled. Для цього можна використати команду sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/ для створення символьного посилання на файл конфігурації першого сайту.
  3. Аналогічно створити символьне посилання на файл конфігурації другого сайту /etc/nginx/sites-available/site2.
  4. Перезапустити сервіс nginx командою sudo service nginx restart, щоб зберегти зміни та дозволити nginx використовувати нові файли конфігурації.

Тепер, якщо ви зайдете на сервер за допомогою браузера та введете в адресну строку доменні імена своїх сайтів (наприклад, http://site1.local і http://site2.local), ви повинні побачити ваші локальні сайти.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *