カテゴリー: 手順書,
LEMPの環境でfast-cgi設定時に調べたことのメモです
Nginxとphp-fpmをsock接続するときphp-fpm.sockが消える件 – Qiita
https://qiita.com/shikigamix/items/ad02566903c5c1433b02
fastcgi_pass の設定は下記2ファイルを同時に適用
listen = /var/run/php-fpm/php-fpm.sock
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
systemctl restart php-fpm
systemctl restart nginx
php-fpm の再起動で /run/php-fpm に「php-fpm.sock」が生成される
# キャッシュ除外フラグ
set $do_not_cache 0;
# GET メソッド以外はキャッシュを作成しない
if ($request_method != GET) {
set $do_not_cache 1;
}
# 管理者クッキーがあるならキャッシュを利用しない
if ($http_cookie ~ ^.*(wordpress_logged_in|wordpress_test_cookie|wordpress_no_cache|wp-postpass).*$) {
set $do_not_cache 1;
}
# キャッシュ除外領域
if ($request_uri ~* "/wp-admin/|/wp-includes/|/no-cache/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
set $do_not_cache 1;
}
# キャッシュ除外領域
location /no-cache/ {
add_header Cache-Control no-cache;
sendfile off;
etag off;
if_modified_since off;
access_log off;
}
※ /no-cache/ ディレクトリは自前のもの。通常は不要
location ごとに適切に設定せねばならないので大変。
以下はサンプル
# php-fpm 設定
location ~ \.php$ {
try_files $uri @wordpress;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include fastcgi_params;
add_header F-Cache $upstream_cache_status;
fastcgi_cache XXXXX;
fastcgi_no_cache $do_not_cache;
fastcgi_cache_bypass $do_not_cache;
fastcgi_pass_header X-Accel-Expires;
fastcgi_cache_key "$scheme://$host$request_uri$is_mobile";
fastcgi_cache_valid 200 2h;
fastcgi_cache_valid 301 302 1h;
fastcgi_cache_valid 404 1m;
fastcgi_cache_valid 500 1s;
fastcgi_cache_valid any 5m;
}
※ try_filese 部分は独自
※ fastcgi_cache_bypass、大事
※ XXXXX は fastcgi_cache_path の keys_zone に合わせる
関連記事はまだありません