Skonfigurowałem nginx i mam problemy z konfiguracją bloków serwerów. Utworzyłem folder dostępny dla stron i włączany dla stron w / etc / nginx. Następnie utworzyłem plik o nazwie subdomeny, którą chcę skonfigurować i umieściłem następującą zawartość:
subdomain.mydomain.com (oczywiście zastąpione moją prawdziwą nazwą domeny)
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;
}
}
Następnie uruchomiłem następujące polecenia:
ln -s /etc/nginx/sites-available/subdomain.mydomain.com /etc/nginx/sites-enabled/
service nginx restart
Nginx zrestartował się bez problemów, jednak poddomena nie jest osiągalna. Po skopiowaniu wklej powyższą konfigurację bloku serwera do mojego bloku http /etc/nginx/nginx.conf działa zupełnie dobrze.
Moje pytanie:
Dlaczego nie ładuje moich bloków serwera z folderu dostępnego na stronach? Myślę, że jest to preferowany sposób dodawania nowych stron do nginx.
Nginx.conf:
Odpowiedzi:
Wygląda na to, że konfiguracja nginx twojej dystrybucji
/etc/nginx/sides-enabled
domyślnie nie odczytuje katalogu; prawdopodobnie postępowałeś zgodnie z instrukcją dotyczącą innej dystrybucji instalacji. Jedynym miejscem, w którym twój nginx szuka plików konfiguracyjnych, jest/etc/nginx/conf.d/
, jak wynika z tego wiersza w twoimnginx.conf
:Dlatego należy albo przenieść plik konfiguracyjny do
/etc/nginx/conf.d/subdomain.mydomain.com.conf
(zwróć uwagę na.conf
sufiks), albo zmienić główną konfigurację nginx, aby uwzględnić również pliki w folderze obsługującym witryny ( niezalecane , ponieważ menedżer pakietów dystrybucji może nadpisać go podczas przyszłej aktualizacji) .źródło