ユーザ用ツール

サイト用ツール


サイドバー

Index

はじめてのおつかい






DokuWiki整形記法


PlayGround



serverapps:nginx:php-fpm_pool

php-fpm pool

php-fpmのpool機能を利用して、apacheのsuExec相当のWebサーバのユーザIDとは異なるユーザIDでCGIを実行する。

/usr/local/etc/php-fpm.conf

include=/usr/local/etc/php-fpm.d/*.conf
[global]
emergency_restart_threshold 10
emergency_restart_interval 1m
process_control_timeout 10s
events.mechanism = kqueue

/usr/local/etc/php-fpm.d/*.conf

# cat /usr/local/etc/php-fpm.d/hoge.conf

[hoge]                                         <= 環境に合わせる
listen = /var/run/php-fpm-hoge.sock            <= 環境に合わせる(socksまたはIP:port <- poolごとにportを変える)
listen.mode = 0666
user = hoge                                    <= 環境に合わせる
group = hoge                                   <= 環境に合わせる
request_slowlog_timeout = 5s
slowlog = /var/log/php-fpm/slowlog-hoge.log    <= 環境に合わせる
pm = dynamic
pm.max_children = 5
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 200

2016.02.07 listen.modeを書かないとエラーになる。前は大丈夫だったんだが…

/usr/local/etc/nginx/conf.d/php-fpm-*

fastcgi_pass unix:/var/run/php-fpm-hoge.sock;    <= 環境に合わせる(socksまたはIP:port <- poolごとにportを変える)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files  $uri = 404;
fastcgi_split_path_info  ^(.+\.php)(.*)$;
fastcgi_index  index.php;
fastcgi_intercept_errors  on;
fastcgi_ignore_client_abort  off;
fastcgi_connect_timeout  60;
fastcgi_send_timeout  180;
fastcgi_read_timeout  180;
fastcgi_buffer_size  128k;
fastcgi_buffers  4 256k;
fastcgi_busy_buffers_size  256k;
fastcgi_temp_file_write_size  256k;
fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
include fastcgi_params;

/usr/local/etc/nginx/conf.d/php-fpm

default用に残しておく

fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
try_files  $uri = 404;
fastcgi_split_path_info  ^(.+\.php)(.*)$;
fastcgi_index  index.php;
fastcgi_intercept_errors  on;
fastcgi_ignore_client_abort  off;
fastcgi_connect_timeout  60;
fastcgi_send_timeout  180;
fastcgi_read_timeout  180;
fastcgi_buffer_size  128k;
fastcgi_buffers  4 256k;
fastcgi_busy_buffers_size  256k;
fastcgi_temp_file_write_size  256k;
fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
include fastcgi_params;

参考

serverapps/nginx/php-fpm_pool.txt · 最終更新: 2017/04/14 14:21 (外部編集)