木一 发表于 2018-12-11 11:45:01

50次课 php

php-fpm的pool
http://i2.运维网.com/images/blog/201808/17/53497a259ec27c4774aa6d9dd1f8e768.png

  它的pool就是它的池子


# cd /usr/local/php-fpm/etc/
# ls
pear.confphp-fpm.confphp-fpm.conf.defaultphp.ini
# cat php-fpm.conf

pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log

listen = /tmp/php-fcgi.sock
#listen = 127.0.0.1:9000
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

http://i2.运维网.com/images/blog/201808/17/3b8f39e9032eecddda332b34d0c76349.png

  设置多个pool
  *进入/usr/local/php-fpm/etc/下编辑php-fpm.conf


# cd /usr/local/php-fpm/etc/
# ls
pear.confphp-fpm.confphp-fpm.conf.defaultphp.ini
# vim php-fpm.conf
http://i2.运维网.com/images/blog/201808/17/7bb9a0c86e2e8d7f7ae9bd71ad0518fb.png

  以上添加完成后查看是否有语法错误


# /usr/local/php-fpm/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
  没有语法错误然后重启


# /etc/init.d/php-fpm reload
Reload service php-fpmdone
  然后用ps看一下


# ps aux |grep php-fpm
http://i2.运维网.com/images/blog/201808/17/aa4669efda3555cff9cf5142eaaffffc.png

  怎么用两个pool
  进入 /usr/local/nginx/conf/vhost/目录下编辑test.com.conf


# cd /usr/local/nginx/conf/vhost/
# ls
aaa.com.confld.confproxy.confssl.conftest.com.conf
# vim test.com.conf

# vim test.com.conf
expires 7d;
valid_referers none blocked server_names*.test.com ;
if ($invalid_referer) {
return 403;
}
access_log off;
}
location ~ .*\.(js|css)$
{
#          expires      12h;
access_log off;
}
location /admin/
{
allow 192.168.63.100;
allow 127.0.0.1;
deny all;
}
location ~ .*(upload|image)/.*\.php$
{
deny all;
}
if ($http_user_agent ~* 'Spider/3.0|YoudaoBot|Tomato')
{
return 403;
}
location ~ \.php$
{
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;      ##**这里定义成php-fcgi.sock**
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/test.com$fastcgi_script_name;
}
access_log /tmp/test.com.log hanshuo;
}

  然后再去定义另外一个pool


# ls
aaa.com.confld.confproxy.confssl.conftest.com.conf
# vim aaa.com.conf
# vim aaa.com.conf
server
{
listen 80 default_server;
server_name aaa.com;
index index.html index.htm index.php;
root /data/wwwroot/default;
location ~ \.php$                           ##添加这里
{
include fastcgi_params;
fastcgi_pass unix:/tmp/han.sock;               
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/wwwroot/default$fastcgi_script_name;
}
}

http://i2.运维网.com/images/blog/201808/17/ec087c509cedb7862f816e485f715e08.png

  php也支持include进入php-fpm.conf下编辑

http://i2.运维网.com/images/blog/201808/17/0fea191ddd3e2b88372039db1753c4f9.png
http://i2.运维网.com/images/blog/201808/17/ff815b900e0f210028cfadb263905425.png

# mkdir php-fpm.d   ##创建php-fpm.d因为include = etc/php-fpm.d/*.conf!
# cd php-fpm.d/       ##进入
# vim www.conf    ##编辑
                                    ##写入一下内容
listen = /tmp/php-fcgi.sock
#listen = 127.0.0.1:9000
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

# vim han.com    ##然后在创建一个目录han.com
                     ##写入内容
listen = /tmp/han.sock
#listen = 127.0.0.1:9000
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024

  查看配置是否有错


# /usr/local/php-fpm/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

  *重启效果跟以前没有加include = etc/php-fpm.d/.conf是一样的**


# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpmdone
http://i2.运维网.com/images/blog/201808/17/5b7d32a6329afc3cf2b284833efdcdc4.png

php-fpm慢执行日志
http://i2.运维网.com/images/blog/201808/17/b029348e488d175a20e297dd1b1fbac4.png
  php-fpm的慢执行日志非常有用lamp是没有的,lnmp有,为什么分析慢执行日志,在运维工作当中经常会遇到一个问题,有人经常反馈网站访问慢了,为什么慢要知道根本原因,慢在什么地方,php网站有办法查他到底慢在哪里,用慢执行日志查看

  配置php-fpm慢执行日志比如说针对www.conf
  编辑/usr/local/php-fpm/etc/php-fpm.d/下的www.conf,添加一下内容


# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf      ##加入下边的两行
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log

http://i2.运维网.com/images/blog/201808/17/7b4423f316edfc686f11cb1d8a19fdb9.png

  检测和重新加载


# /usr/local/php-fpm/sbin/php-fpm -t
NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
# /etc/init.d/php-fpm reload
Reload service php-fpmdone

  查看有没有生成日志文件如果已生成用cat查看日志


# ls /usr/local/php-fpm/var/log/www-slow.log       ##已生成
/usr/local/php-fpm/var/log/www-slow.log
  模拟慢执行日志的php写个脚本


# vim /data/wwwroot/test.com/sleep.php   编辑个脚本写入下边的代码
      ##故意休眠两秒钟
~                                                                                                                                                            
~                                                   
http://i2.运维网.com/images/blog/201808/17/5930a2830fb18560f38409e87a3fd118.png

open_basedir
http://i2.运维网.com/images/blog/201808/17/b45cc27501f742bd22d738d07be4067d.png

  编辑配置文件


# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf   ##加入以下配置
php_admin_value=/data/wwwroot/test.com:/tmp/
http://i2.运维网.com/images/blog/201808/17/10ec907d6dc00774a783acf592a9052a.png

  启动

http://i2.运维网.com/images/blog/201808/17/fae4e2ded397f66bddba30b579f2827c.png

  测试

http://i2.运维网.com/images/blog/201808/17/3b33d72e5a7b11cb44cb31643d55bc5d.png

  查看错误日志

  把php-fpm的错误日志定义上

# vim /usr/local/php-fpm/etc/php.ini   
http://i2.运维网.com/images/blog/201808/17/bc265b381dfda6a8c76f9a9625cade1b.png
http://i2.运维网.com/images/blog/201808/17/ed6dd52b2a8106a852a52a3e52bceb65.png
http://i2.运维网.com/images/blog/201808/17/4e86a051e1ea1b9e3a468977546d87a8.png
http://i2.运维网.com/images/blog/201808/17/4a8eeec24dea31ce4c3d4a80e1aa4b34.png
http://i2.运维网.com/images/blog/201808/17/76082b6782f15b485980c0cd5931fc4d.png
http://i2.运维网.com/images/blog/201808/17/9327a9a2a186df14ccfd003e23e67c85.png
http://i2.运维网.com/images/blog/201808/17/27521f55009492a34b9dba92d636c7ab.png
http://i2.运维网.com/images/blog/201808/17/893e281df6281bf9a2482090e7d23d04.png
http://i2.运维网.com/images/blog/201808/17/ef2cf62079e8c0c70f9fa425fdbb8e5b.png
http://i2.运维网.com/images/blog/201808/17/a63125cc5972807125d61a954f7391ae.png

12.24 php-fpm进程管理
http://i2.运维网.com/images/blog/201808/17/0ac57c1a2f69c20157d76814452e99ac.png
http://i2.运维网.com/images/blog/201808/17/0aac0793a5338bd0ea31c11985e9a307.png
http://i2.运维网.com/images/blog/201808/17/35016514f284b69af736da4ff231a03d.png
http://i2.运维网.com/images/blog/201808/17/bb12d0f895fb593aea21773ef726816b.png



页: [1]
查看完整版本: 50次课 php