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;
        ...
    }
}

バラよりこのファイルもっと学ぶ。

関連情報