2019-02-14ノート-php-fpm構成
5889 ワード
メインプロファイル:/usr/local/php-fpm/etc/php-fpm.conf#include=/usr/local/php-fpm/etc/php-fpm.d/*.conf
実際に有効なサブプロファイル:/usr/local/php-fpm/etc/php-fpm.d/www.conf user = php-fpm group = php-fpm listen.group = php-fpm listen.owner = php-fpm listen.allowed_Clients=127.0.0.1#アクセス可能なクライアントを定義します.一般的にはデフォルトの を維持します. pool名前:[www]カスタマイズできます.起動後、ps aux|grep php-fpmは一番右側を見て、poolの名前 です. listenは、リスニングのIP:portまたはsocketアドレスを指定します.このアドレスはnginxプロファイルのfastcgi_とpassが構成したアドレスが一致しないと502エラーになります.socketファイルが傍受されている場合、nginxプロファイルは(fastcgi_pass unix:/tmp/www.socket;)に変更されます.また、nginxサービスユーザ(nginx)がこのsocketファイルに対して読み書き権限を有することを保証しなければならない.そうしないと、502エラーも報告される.リスニング権限を変更するにはphp-fpmサービスを再起動し、socketファイルを再生成する必要があります. listen = 127.0.0.1:9000 listen =/tmp/www.socket listen.modeはsocketファイルの権限 を指定する listen.mode=0660#一般的に0666 に変更 pm=dynamic#ダイナミックモード pm.max_children=5#最大プロセス数 pm.start_servers=2#いくつかのサブプロセス を開始 pm.min_spare_servers=1#アイドルの場合、少なくともいくつかのサブプロセス より少なくはなりません. pm.max_spare_servers=3#アイドルの場合、最大数個のサブプロセス を超えることはできません. pm.max_requests=500#単一サブプロセスで最大処理されるリクエスト数 php_flag[display_errors]=off#本番環境は一般的にoffを維持し、デバッグを間違えて一時的に開くことができ、エラー情報はWebページに 表示されます. php_admin_value[error_log] =/var/log/fpm-php.www.log php_admin_flag[log_errors] = on php_admin_value[error_reporting] = E_ALL#エラーログレベル
phpを表示します.iniファイルパス(phpinfo)
しかし、一般的にphpinfo関数機能をオンにすることは推奨されず、ルートディレクトリでこのファイルを作成することは推奨されず、セキュリティ上の危険性があります.
slowログの構成
Webページのロードが遅い場合は、slowlogログで表示、最適化できます. slowlog =/var/log/www.log.slow request_slowlog_timeout=1#スクリプト実行タイムアウト時間、実行タイムアウトのファイル詳細がログに記録されます Open_の設定basedir
phpサービスがアクティブなディレクトリ範囲を定義する vi/usr/local/php-fpm/etc/php.ini open_basedir =/data/wwwroot/bbs.aibenwoniu.xyz:/tmp#ディレクトリ間:分割、/tmpディレクトリは、ログファイル、socketなどの のようなすべての一時ファイルになります.
問題:bbsサイトが安全に漏洩する場合、同じパスのblogサイトにも漏洩するリスクソリューションがあります.blogサイトにblogを新規作成します.confファイルは、異なるpool制御で管理され、新しいpoolでlistenパラメータを区別することに注意します(ポートまたはsocket)
PS:php-fpmプロファイルの2種類のパラメータフォーマット php_flag #on/off php_admin_value#構成詳細パラメータ
実際に有効なサブプロファイル:/usr/local/php-fpm/etc/php-fpm.d/www.conf
[root@linux2019 nginx]# ps aux |grep php-fpm
root 7286 0.0 0.3 230484 6444 ? Ss 09:22 0:01 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
php-fpm 7287 0.0 0.4 230920 9276 ? S 09:22 0:00 php-fpm: pool bbs
php-fpm 7288 0.0 0.4 230920 9216 ? S 09:22 0:00 php-fpm: pool bbs
php-fpm 7289 0.0 1.1 315020 22780 ? S 09:22 0:00 php-fpm: pool blog
php-fpm 7290 0.0 0.3 230476 6364 ? S 09:22 0:00 php-fpm: pool blog
root 7382 0.0 0.0 112724 984 pts/1 S+ 10:10 0:00 grep --color=auto php-fpm
[root@linux2019 conf.d]# /usr/local/php-fpm/sbin/php-fpm -t #
[root@linux2019 conf.d]# /etc/init.d/php-fpm reload #
phpを表示します.iniファイルパス(phpinfo)
#php -i phpinfo()
[root@linux2019 etc]# /usr/local/php-fpm/bin/php -i |head
phpinfo()
PHP Version => 7.3.1
System => Linux linux2019 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64
Build Date => Jan 23 2019 11:05:01
Configure Command => './configure' '--prefix=/usr/local/php-fpm' '--with-config-file-path=/usr/local/php-fpm/etc' '--enable-fpm' '--with-fpm-user=php-fpm' '--with-fpm-group=php-fpm' '--with-mysql=/usr/local/mysql5.6' '--with-mysqli=/usr/local/mysql5.6/bin/mysql_config' '--with-pdo-mysql=/usr/local/mysql5.6' '--with-mysql-sock=/tmp/mysql.sock' '--with-libxml-dir' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-freetype-dir' '--with-iconv-dir' '--with-zlib-dir' '--with-mcrypt' '--enable-soap' '--enable-gd-native-ttf' '--enable-ftp' '--enable-mbstring' '--enable-exif' '--with-pear' '--with-curl' '--with-openssl'
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /usr/local/php-fpm/etc
Loaded Configuration File => /usr/local/php-fpm/etc/php.ini
[root@linux2019 bbs.aibenwoniu.xyz]# vi phpinfo.php
[root@linux2019 bbs.aibenwoniu.xyz]# chmod 777 phpinfo.php
[root@linux2019 bbs.aibenwoniu.xyz]# curl -k https://bbs.aibenwoniu.xyz/phpinfo.php # php
[root@linux2019 bbs.aibenwoniu.xyz]# vi /usr/local/php-fpm/etc/php.ini # phpinfo
disable_functions = phpinfo
[root@linux2019 php-fpm.d]# curl -k -H "host:bbs.aibenwoniu.xyz" https://127.0.0.1/phpinfo.php -I
しかし、一般的にphpinfo関数機能をオンにすることは推奨されず、ルートディレクトリでこのファイルを作成することは推奨されず、セキュリティ上の危険性があります.
slowログの構成
Webページのロードが遅い場合は、slowlogログで表示、最適化できます.
phpサービスがアクティブなディレクトリ範囲を定義する
問題:bbsサイトが安全に漏洩する場合、同じパスのblogサイトにも漏洩するリスクソリューションがあります.blogサイトにblogを新規作成します.confファイルは、異なるpool制御で管理され、新しいpoolでlistenパラメータを区別することに注意します(ポートまたはsocket)
[root@linux2019 php-fpm.d]# vi blog.conf
[blog]
user = php-fpm
group = php-fpm
listen = /tmp/blog.socket
listen.mode = 0666
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
slowlog = /var/log/$pool.log.slow
request_slowlog_timeout = 1
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.blog.log
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL
php_admin_value[open_basedir] = /data/wwwroot/blog.aibenwoniu.xyz:/tmp
[root@linux2019 php-fpm.d]# grep -v ^\; bbs.conf |grep -v ^$
[bbs]
user = php-fpm
group = php-fpm
listen = 127.0.0.1:9000
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
slowlog = /var/log/$pool.log.slow
request_slowlog_timeout = 1
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.bbs.log
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL
php_admin_value[open_basedir] = /data/wwwroot/bbs.aibenwoniu.xyz:/tmp
PS:php-fpmプロファイルの2種類のパラメータフォーマット