2016-06-03 1 views
1

모든 구성이 포함되며 conf 테스트도 통과됩니다. 그러나 Nginx는 여전히 conf.d 디렉토리에있는 conf 파일의 루트 위치 대신 /usr/share/nginx/html에서 기본 HTML을 제공합니다. conf.d 디렉토리conf.d에서 conf를 포함하지만 여전히 기본 설정을로드하는 Nginx

upstream django { 
    server   unix:///tmp/server.sock; 
} 

server { 
    listen   80; 
    server_name  server.test.com; 
    access_log  /srv/source/logs/access-nginx.log; 
    error_log  /srv/source/logs/error-nginx.log; 

    location/{ 
     uwsgi_pass  django; 
     include   /srv/source/conf/uwsgi/params; 
    } 

    location /static/ { 
     root   /srv/source/; 
     index   index.html index.htm; 
    } 

    location /media/ { 
     root   /srv/source/media/; 
     index   index.html index.htm; 
    } 

    # alias favicon.* to static 
    location ~ ^/favicon.(\w*)$ { 
     alias /srv/source/static/favicon.$1; 
    } 

} 
+1

당신은 서버를 http://server.test.com으로 확신하고 있습니까? 이것이 문제 일 수 있기 때문에 - 다른 곳에서 정의 된 기본 서버로 리디렉션되고 있습니다. – Jerzyk

답변

0

nginx 설정이 /etc/nginx/nginx.conf에 기본에서

의 conf 파일. nginx 당신까지 해당 디렉토리에 파일을 제공하는 유지합니다 server 섹션에서 root

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

server { 
    listen  80 default_server; 
    listen  [::]:80 default_server; 
    server_name _; 
    root   /usr/share/nginx/html; 

    # Load configuration files for the default server block. 
    include /etc/nginx/default.d/*.conf; 

    location/{ 
    } 

    error_page 404 /404.html; 
     location = /40x.html { 
    } 

    error_page 500 502 503 504 /50x.html; 
     location = /50x.html { 
    } 
} 

감사합니다 : 파일 (적어도 그 RHEL 기반으로 아치 경우 기반 배포판은) 다음 줄을 포함 기본적으로 우리가이 줄을 주석 처리하십시오. 이것은 conf.d이로드 된 직후에 발생합니다 (위의 스 니펫에 설명 된대로).

conf.d 내부의 내용을 변경하더라도 파일의 마지막 부분은 여전히로드됩니다. conf.d에 configs를로드하는 파일 (/etc/nginx/nginx.conf)이므로.

nginx을 사용하려면 예 : server을 반드시 주석으로 처리해야합니다.

+0

올바르지 않습니다. nginx 설정에서 여러 개의 서버 블록을 사용하는 것은 완벽하게 좋으며 하나의 설정은 다른 서버의 설정을 방해하지 않을 것입니다. – solarissmoke

+0

@solarissmoke 정확하지 않거나 잘 모르지만 grochmal의 솔루션이 제대로 작동하는지 확인하는 즉시 내 앱이 작동하기 시작한 기본 서버를 주석 처리했습니다. – rayman

+0

@rayman 이는 다른 서버가 지정되지 않은 경우 다른 서버가 기본 서버가되기 때문입니다. @ Jerzyk의 의견은 실제 문제가 무엇인지 지적합니다. 'server_name'이 (가) 귀하의 호스트와 일치하지 않을 가능성이 높습니다. – solarissmoke

관련 문제