Nginx 버전에 구애받지 않는 php-fpm 구성

Nginx 버전에 구애받지 않는 php-fpm 구성

Nginx에서 새 webapp conf를 생성할 때 다음 템플릿을 사용합니다.

server {
    root /var/www/html/${domain};
    server_name ${domain} www.${domain};
    location ~*  \.(jpg|jpeg|png|gif|ico|css|js|ttf|woff|pdf)$ {
        expires 365d; 
    }
    location / {
        index index.php index.html index.htm fastcgi_index;
        try_files $uri $uri =404 $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

location템플릿에서 다음 블록을 참고하세요.

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

버전에 구애받지 않게 만드는 "안전한" 방법이 있습니까(즉, 버전 7.0이나 다른 버전에는 특별히 해당되지 않음).

이를 수행하는 방법을 알고 있습니까? 정규식이 최선의 방법인지는 잘 모르겠습니다. 어쩌면 이를 구성하는 다른 방법이 있을 수도 있습니다.

고쳐 쓰다

그건 그렇고, 이 7.0 지침은반품약간의 고통 - 때로는 버전 측정을 시작하지 않고 스크립트를 실행하고 싶을 때도 있습니다.

sed -i 's/post_max_size \= .M/post_max_size \= 200M/g' /etc/php/7.0/fpm/php.ini
sed -i 's/upload_max_filesize \= .M/upload_max_filesize \= 200M/g' /etc/php/7.0/fpm/php.ini
sed -i "s/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g" /etc/php/7.0/fpm/php.ini
/etc/init.d/php7.0-fpm restart && systemctl restart nginx.service

답변1

블록을 사용하세요 upstream. 이는 nginx.conf모든 서버별 구성 파일에 상속되는 기본 파일에 포함될 수 있습니다 .

예를 들어:

upstream php {
    server unix:/var/run/php/php7.0-fpm.sock;
}

server {
    ...
    location ~ \.php$ {
        fastcgi_pass php;
        ...
    }
}

바라보다이 파일더 알아보기.

관련 정보