1
현재, 나는 PHP 파일을 실행하는 데 필요한 각각의 모든 사이트에Nginx에서 마스터 파일의 값을 상속합니까?
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
}
을 넣어해야합니다.
"마스터"에 넣을 수있는 방법이 있습니까? 모든 사이트에서 같은 지시문을 중복해서 복사하지 않으시겠습니까? 그래서 같은
현재, 나는 PHP 파일을 실행하는 데 필요한 각각의 모든 사이트에Nginx에서 마스터 파일의 값을 상속합니까?
location ~ \.php$
{
fastcgi_pass 127.0.0.1:9000;
}
을 넣어해야합니다.
"마스터"에 넣을 수있는 방법이 있습니까? 모든 사이트에서 같은 지시문을 중복해서 복사하지 않으시겠습니까? 그래서 같은
예 :
include /etc/nginx/master.conf;
자세한 내용은 당신이 있었다 즉 http://nginx.org/en/docs/ngx_core_module.html#include
참조 :
server {
servername a;
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;}
#rest of server a config
}
server {
servername b;
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;}
#rest of server b config
}
당신이 지금 가지고있는 것 :
server {
servername a;
include /etc/nginx/php-master.conf;
#rest of server a config
}
server{
servername b;
include /etc/nginx/php-master.conf;
#rest of server b config
}
을
과 별개의 그것은 실제로 (포함 된 비트는 단지 한 라인으로) 많은 serverblock의 코드를 단축하지 않습니다
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
}
내용으로 함께 /etc/ningx/php-master.conf 파일을 먹었다. 하지만 여전히 한 곳에서 PHP 설정을 바꿀 수 있다는 장점이 있습니다 (fastcgi 처리기를 다른 포트 또는 ip로 이동한다고합시다)
이 코드를 마스터 파일에 넣어도, 위치 ~ \ .php $ { fastcgi_pass 127.0.0.1:9000; }' PHP 파일은 각자의'server {}'블록에 넣지 않는 한 개별 사이트에서 작동하지 않습니다. – IMB
기본적으로 뒤에서 nginx는 결과를 해석하기 전에 포함 된 파일의 내용을 include 지시문으로 대체합니다 . (설명하기 위해 나의 대답을 업데이트했다) – cobaco
아 어떻게 그렇게 작동하는지. 나는 이것이 충분하다고 생각한다. thanks – IMB