Назад | Перейти на главную страницу

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

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

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

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