Nginx не проверяет серверные блоки с поддержкой сайтов

Я установил nginx, и мне трудно настроить свои серверные блоки. Я создал папку с доступными и доступными сайтами в / etc / nginx. После этого я создал файл с именем поддомена, который хочу настроить, и вставил следующее содержимое:

subdomain.mydomain. com (конечно, заменено на мое настоящее доменное имя)

upstream subdomain.mydomain.com {
        server 127.0.0.1:1234;
        keepalive 30;
}

server {
        listen 80;
        listen [::]:80;

        server_name subdomain.mydomain.com;

        access_log off;
        error_log /var/log/nginx/subdomain.mydomain.com-error.log crit;

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_pass http://subdomain.mydomain.com;
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_cache_bypass $http_upgrade;
        }
}

Затем я выполнил следующие команды:

ln -s /etc/nginx/sites-available/subdomain.mydomain.com /etc/nginx/sites-enabled/
service nginx restart

Nginx перезапустился без проблем, однако поддомен недоступен. Когда я копирую и вставляю приведенную выше конфигурацию блока сервера в свой http-блок /etc/nginx/nginx.conf, он работает полностью нормально.

Мой вопрос:

Почему он не загружает мои серверные блоки из папки с доступными сайтами? Думаю, это предпочтительный способ добавления новых сайтов в nginx.

Nginx.conf:

https://ghostbin.com/paste/bfgqz

0
задан 21 September 2017 в 15:19
1 ответ

Похоже, что конфигурация nginx вашего дистрибутива по умолчанию не читает каталог / etc / nginx / side-enabled ; вы, вероятно, следовали инструкциям по установке для другого дистрибутива. Единственное место, где ваш nginx ищет файлы конфигурации, - это /etc/nginx/conf.d/ , как определено этой строкой в ​​вашем nginx.conf :

    include /etc/nginx/conf.d/*.conf;

Таким образом, вы следует либо переместить файл конфигурации в /etc/nginx/conf.d/subdomain.mydomain.com.conf (обратите внимание на суффикс .conf ), либо изменить основную конфигурацию nginx на также включите файлы в папку с поддержкой сайтов ( не рекомендуется , поскольку диспетчер пакетов вашего дистрибутива может перезаписать ее во время будущего обновления).

2
ответ дан 4 December 2019 в 13:30

Теги

Похожие вопросы