Щоб додати локальний сайт на сервері 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
- Замінити SERVER_IP_ADDRESS на реальний IP-адрес вашого сервера.
Тепер ваш локальний сайт доступний за адресою http://example.com/ з будь-якого пристрою, який знаходиться в тій же мережі, що й ваш сервер.
Щоб додати кілька локальних сайтів на сервері з nginx, потрібно виконати наступні кроки:
- Створити каталоги для сайтів. Наприклад, для першого сайту можна створити каталог
/var/www/site1
, а для другого –/var/www/site2
. - Створити файли конфігурації для кожного сайту у каталозі
/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;
}
}
- Аналогічно створити файл конфігурації для другого сайту
/etc/nginx/sites-available/site2
, і вказати в ньому відповідні налаштування для другого сайту. - Створити символьні посилання на файли конфігурації кожного сайту у каталозі
/etc/nginx/sites-enabled
. Для цього можна використати командуsudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/
для створення символьного посилання на файл конфігурації першого сайту. - Аналогічно створити символьне посилання на файл конфігурації другого сайту
/etc/nginx/sites-available/site2
. - Перезапустити сервіс nginx командою
sudo service nginx restart
, щоб зберегти зміни та дозволити nginx використовувати нові файли конфігурації.
Тепер, якщо ви зайдете на сервер за допомогою браузера та введете в адресну строку доменні імена своїх сайтів (наприклад, http://site1.local
і http://site2.local
), ви повинні побачити ваші локальні сайти.