Как настроить файл конфигурации nginx для обслуживания нескольких веб-сервисов?

Как объединить два сервиса в одном файле конфигурации nginx из каталога /etc/nginx/sites-available, используя ранее предоставленный код?
  • 31 января 2024 г. 19:19
Ответы на вопрос 2
Чтобы настроить NGINX для обслуживания нескольких веб-сервисов, вы можете создать отдельные блоки `server` для каждого сервиса в файле конфигурации. Для этого вы можете использовать каталог `/etc/nginx/sites-available`, создав отдельный файл конфигурации для каждого сервиса или объединив их в одном файле. Затем создаёте символические ссылки из этих файлов в каталог `/etc/nginx/sites-enabled`, чтобы NGINX их подключил.

Для объединения двух веб-сервисов в одном файле конфигурации в каталоге `/etc/nginx/sites-available`, можно настроить каждый блок `server` с уникальными значениями `listen` и `server_name`. Вот пример такого файла конфигурации для двух сервисов:

```nginx
# Конфигурация для первого веб-сервиса
server {
    listen 80;
    server_name service1.example.com;  # Замените на реальное доменное имя первого сервиса

    # Конфигурация месторасположения документов для первого сервиса
    root /var/www/service1;             # Корневая директория для первого сервиса
    index index.html index.htm;

    # Описание местоположения для обработки запросов
    location / {
        try_files $uri $uri/ =404;
    }
}

# Конфигурация для второго веб-сервиса
server {
    listen 80;
    server_name service2.example.com;  # Замените на реальное доменное имя второго сервиса

    # Конфигурация месторасположения документов для второго сервиса
    root /var/www/service2;             # Корневая директория для второго сервиса
    index index.html index.htm;

    # Описание местоположения для обработки запросов
    location / {
        try_files $uri $uri/ =404;
    }
}
```

Для активации новых или измененных настроек вам нужно сделать следующее:

1. Сохраните изменения в файле конфигурации (который находится в каталоге `/etc/nginx/sites-available`).
2. Создайте символическую ссылку на этот файл в каталоге `/etc/nginx/sites-enabled`. Например, если ваш файл называется `my_services`, выполните команду:
   ```bash
   sudo ln -s /etc/nginx/sites-available/my_services /etc/nginx/sites-enabled/
   ```
3. Проверьте конфигурацию NGINX на наличие ошибок, выполнив команду:
   ```bash
   sudo nginx -t
   ```
4. Если все в порядке, загрузите новую конфигурацию, выполнив команду:
   ```bash
   sudo systemctl reload nginx
   ```

Теперь NGINX должен быть настроен на обслуживание обоих сервисов, рассмотренных в конфигурации. Убедитесь, что каждый веб-сервис имеет свой уникальный `server_name` и что для DNS настроено правильное разрешение имен в IP-адреса.
Полный код который я использую
Похожие вопросы