2019独角兽企业重金招聘Python工程师标准>>>

摘要

2018年6月13日任务
12.21 php-fpm的pool
12.22 php-fpm慢执行日志
12.23 open_basedir
12.24 php-fpm进程管理

12.21 php-fpm的pool

• vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加

• include = etc/php-fpm.d/*.conf

• mkdir /usr/local/php/etc/php-fpm.d/

• cd /usr/local/php/etc/php-fpm.d/

• vim www.conf //内容如下

[www]

listen = /tmp/www.sock

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 aming.conf //内容如下

[aming]

listen = /tmp/aming.sock

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/sbin/php-fpm –t

• /etc/init.d/php-fpm restart

实例:

/usr/local/php/etc/php-fpm.conf中添加test.com

查看定义的pid
[root@localhost vhost]# cd /usr/local/php-fpm/etc/
[root@localhost etc]# ls
pear.conf  php-fpm.conf   php-fpm.conf.default  php.ini[root@localhost etc]# cat php-fpm.conf
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
#listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_services = 20
pm.min_spare_services = 5
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024[test.com]
listen = /tmp/test.sock
#listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_services = 20
pm.min_spare_services = 5
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024重新加载[root@localhost etc]# /usr/local/php-fpm/sbin/php-fpm -t[root@localhost etc]# /etc/local/php-fpm/sbin/php-fpm -s reload[root@localhost etc]# ps aux | grep php-fpm        #查看添加的test.com
[root@localhost etc]# 

使用添加的test pool

[root@localhost etc]# cd /usr/local/nginx/conf/vhost/
[root@localhost vhost]# ls
aaa.com.conf   ld.conf    proxy.conf ssl.conf   test.com.conf
[root@localhost vhost]# vi aaa.com.conf
server
{listen 80 default_server;server_name aaa.com;index index.html index.html index.php;root /data/wwwroot/default;
location ~ \.php${include fastcgi_params;fastcgi_pass unix:/tmp/wzq.sock;       #  fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /data/wwwroot/default$fastcgi_script_name;}}[root@localhost vhost]# ls
aaa.com.conf   ld.conf  proxy.conf   ssl.conf     test.com.conf
[root@localhost vhost]# tail ../nginx.conftcp_nodelay on;gzip on;gzip_min_length 1k;gzip_buffers 4 8k;gzip_com_level 5;gzip_http_version 1.1;gzip_types text/plain applition/x-javascript text/css text/htm;application/xml;include vhost/*.conf;
  • vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加
[root@localhost vhost]# cd /usr/local/php-fpm/etc/
[root@localhost etc]#ls
pear.conf   php-fpm.conf   php-fpm.conf.default   php.ini
[root@localhost etc]#vi /usr/local/php/etc/php-fpm.conf/
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.loginclude = /etc/php-fpm.d/*.conf        #添加的内容,在www上面,在www行是100dd,删除下面的行
[www][root@localhost etc]# mkdir php-fpm.d
[root@localhost etc]# cd php-fpm.d/
[root@localhost php-fpm.d]# vi www.conf
[www]
#listen = /tmp/php-fcgi.sock
listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = dynamic     #进程启动的形式
pm.max_children = 50
pm.start_services = 20
pm.min_spare_services = 5
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024[root@localhost  etc]# vi test.conf
[test.com]           #只需要把括号里面的内容,更改成你想要的名字
#listen = /tmp/test.sock
listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_services = 20
pm.min_spare_services = 5
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024[root@localhost  etc]# vi www.conf
[www.com]
#listen = /tmp/test.sock
listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_services = 20
pm.min_spare_services = 5
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024[root@localhost  etc]# ls
test.conf    www.conf[root@localhost ]# cat ../php-fpm.conf
[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-local/php-fpm/var/log/php-fpm.log
include = /etc/php-fpm.d/*.conf检测
[root@localhost  etc]# /usr/local/php-fpm/sbin/php-fpm -t[root@localhost etc]# /etc/init.d/php-fpm restart[root@localhost  etc]#ps aux |grep php-fpm      #查看pool.添加的www

12.22 php-fpm慢执行日志

• vim /usr/local/php-fpm/etc/php-fpm.d/www.conf//加入如下内容

request_slowlog_timeout = 1        #日志记录的时候1秒

slowlog = /usr/local/php-fpm/var/log/www-slow.log           #日志记录的位置

• 配置nginx的虚拟主机test.com.conf,把unix:/tmp/php-fcgi.sock改为unix:/tmp/www.sock

• 重新加载nginx服务

• vim /data/wwwroot/test.com/sleep.php//写入如下内容

• <?php echo “test slow log”;sleep(2);echo “done”;?>

• curl -x127.0.0.1:80 test.com/sleep.php

• cat /usr/local/php-fpm/var/log/www-slow.log

实例:

vim /usr/local/php-fpm/etc/php-fpm.d/www.conf//加入如下内容

[root@localhost etc]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf
[www]
#listen = /tmp/php-fcgi.sock
listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = dynamic      #进程启动的形式
pm.max_children = 50
pm.start_services = 20
pm.min_spare_services = 5
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 1       #添加的内容,,请求超过一秒钟,就记录日志。
slowlog = /usr/local/php-fpm/var/log/www-slow.log      #日志存放的位置#检查设置是否有误[root@localhost etc]# /usr/local/php-fpm/sbin/php-fpm -t[root@localhost etc]# /etc/init.d/php-fpm restart[root@localhost etc]# cat www.conf      #查看日志有没有生成
[root@localhost etc]# ls /usr/local/php-fpm/var/log/          #查看有没有生成 www-slow.log
php-fpm.log    www-slow.log
[root@localhost etc]# ls /usr/local/php-fpm/var/log/www-slow.log
/usr/local/php-fpm/var/log/www-slow.log  [root@localhost etc]#  cat /usr/local/php-fpm/var/log/www-slow.log      #查看内容
cat /usr/local/php-fpm/var/log/www-slow.log                 #显示为空,因为没有执行php

配置nginx的虚拟主机test.com.conf,把unix:/tmp/php-fcgi.sock改为unix:/tmp/www.sock

[root@localhost ]# vi test.com.conf把unix:/tmp/php-fcgi.sock改为unix:/tmp/www.sock

设置慢执行日志

[root@localhost php-fpm.d]# vim /data/wwwroot/test.com/sleep.php           #编写一个休眠2秒的php文件
<?phpecho “test slow log”;
sleep(2);
echo “done”;
?>[root@localhost php-fpm.d]# curl -x 127.0.0.1:80 test.com/sleep.php
[root@localhost php-fpm.d]# curl -x 127.0.0.1:80 test.com/sleep.php -I       、#-I检测有没有语法错误
...
....   500 ...
.....
[root@localhost php-fpm.d]# vi /usr/local/php-fpm/etc/php.ini
/display_err       #搜索的内容
/display_errors = On     #设置成On,之后就可以在浏览器上面浏览       正常情况下,是off[root@localhost php-fpm.d]# /etc/init.dphp-fpm reload      #加载[root@localhost php-fpm.d]# curl -x 127.0.0.1 test.com/sleep.php    #重新链接
[root@localhost php-fpm.d]# vi /data/wwwroot/test.com/sleep.php
2.js     3.php    admin/     index.html    sleep.php   upload
[root@localhost php-fpm.d]# vi /data/wwwroot/test.com/sleep.php
<?php
echo "test slow log";
sleep(2);
echo "done";
?>[root@localhost php-fpm.d]# curl -x 127.0.0.1 test.com/sleep.php      #再执行一次
[root@localhost php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log      ##再查看一次有没有生成 慢执行日志.网站慢的时候,,,,查看/usr/local/php-fpm/var/log/www-slow.log [12 -Jul-2018 13:20:24] [pool www] pid 1223
script_filename = /data/wwwroot/test.com/sleep.php
[123v12h3h21h] sleep () /data/wwwroot/test.com/sleep.php:3      #那个脚本慢,第三行慢[root@localhost php-fpm.d]# cat /data/wwwroot/test.com/sleep.php
<?php
echo "test slow log";
sleep(2);
echo "done";
?>

12.23 open_basedir

• vim /usr/local/php-fpm/etc/php-fpm.d/aming.conf//加入如下内容

php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/

v  

• 创建测试php脚本,进行测试

• 再次更改aming.conf,修改路径,再次测试

• 配置错误日志

• 再次测试

• 查看错误日志

实例:

vim /usr/local/php-fpm/etc/php-fpm.d/aming.conf//加入如下内容

[root@localhost php-fpm.d]# vi www.conf//加入如下内容
[www]
#listen = /tmp/php-fcgi.sock
listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = dynamic        #进程启动的形式
pm.max_children = 50
pm.start_services = 20
pm.min_spare_services = 5
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 1
slowlog = /usr/local/php-fpm/var/log/www-slow.log
php_admin_value[open_basedir]=/data/wwwroot/test.com:/tmp/                         #添加的内容[root@localhost php-fpm.d]# cat www.conf
[root@localhost php-fpm.d]# netstat -lntp          #查看80端口
[root@localhost php-fpm.d]# vi /dta/wwwroot/test.com/3.php
<?php
phpinfo();[root@localhost php-fpm.d]# curl -x 127.0.0.1:80 test.com/3.php -I
[root@localhost php-fpm.d]# /etc/init.d/php-fpm restart[root@localhost php-fpm.d]# ls

查看错误日志

[root@localhost php-fpm.d]#vi /usr/local/php-fpm/etc/php.ini
/display_error      //搜索的内容
/display_errors = Off        //修改成原来的off/error_log       //搜索的内容,,,在error_log = syslog下面添加
error_log = /usr/local/php-fpm/var/log/php_errors.log/error_reporting         //搜索的内容在;error_reporting = E_ALL & -E_DEPRECATED & -E_STRICT下面添加然后 把添加的哪一行上面的一行注释掉。
error_reporting = E_ALL[root@localhost php-fpm.d]# grep error_log /usr/local/php-fpm/etc/php.ini    #查看错误日志
error_log = /usr/local/php-fpm/var/log/php_errors.logroot@localhost php-fpm.d]# touch /usr/local/php-fpm/var/log/php_errors.log手动生成一个错误日志
root@localhost php-fpm.d]# chmod 777 /usr/local/php-fpm/var/log/php_errors.log
root@localhost php-fpm.d]#/etc/init.d/php-fpm restart      #重启一下
root@localhost php-fpm.d]# curl -x 127.0.0.1:80 test.com/3.php -I   #重新访问root@localhost php-fpm.d]# cat /usr/local/php-fpm/var/log/php_errors.log       #查看错误日志 

注意:open_basedir 的作用是限制php在指定的目录里活动。

12.24 php-fpm进程管理

• pm = dynamic      //动态进程管理,也可以是static

• pm.max_children = 50 //最大子进程数,ps aux可以查看

• pm.start_servers = 20 //启动服务时会启动的进程数

注意:注释的时候用;号

• pm.min_spare_servers = 5 //定义在空闲时段,子进程数的最少数量,如果达到这个数值时,php-fpm服务会自动派生新的子进程。

• pm.max_spare_servers = 35 //定义在空闲时段,子进程数的最大值,如果高于这个数值就开始清理空闲的子进程。

空闲意思是,没有访问的时候。

• pm.max_requests = 500  //定义一个子进程最多处理的请求数,也就是说在一个php-fpm的子进程最多可以处理这么多请求,当达到这个数值时,它会自动退出。

实例:

[root@localhost php-fpm.d]# vim /usr/local/php-fpm/etc/php-fpm.d/aming.conf//加入如下内容
[www]
#listen = /tmp/php-fcgi.sock
listen = 127.0.0.1:9000
user = php-fpm
group = php-fpm
pm = static       #只有最大的生效
pm.max_children = 50     #只有这一个生效
pm.start_services = 20     #启动的个数是20个
pm.min_spare_services = 5   #最低启动5个
pm.max_spare_service = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 1
php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/  [root@localhost php-fpm.d]# ps aux | grep php-fpm     #查看启动的php
php-fpm ....       .. ... ..              ..      ...  ... aming.com[root@localhost php-fpm.d]# ps aux | grep aming.com[root@localhost php-fpm.d]# ps aux | grep aming.com |wc -l   #统计行数
21
[root@localhost php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t
[root@localhost php-fpm.d]# /etc/init.d/php-fpm restart[root@localhost php-fpm.d]# ps aux | grep php-fpm     #查看启动的php

常见问题:

转载于:https://my.oschina.net/u/3803405/blog/1829762

2018年6月13日任务相关推荐

  1. 2018年4月13日_Java的最新发展– 2018年4月下旬

    2018年4月13日 本周Java领域有一些最新的发展,我在本文中总结了其中的一些. 我们知道的JavaOne的终结 Stephen Chin在帖子" JavaOne活动扩展了更多的曲目,语 ...

  2. 2018-12 jdk_JDK 12新闻(2018年9月13日)

    2018-12 jdk 由于计划于本月晚些时候(2018年9月25日)发布JDK 11的 一般可用性 ,是时候开始更仔细地研究JDK 12了 . 在OpenJDK jdk-dev邮件列表上的标题为&q ...

  3. JDK 12新闻(2018年9月13日)

    随着通用性的JDK 11计划在本月底(2018 9月25日),这是一个好时机,开始在更紧密地看着JDK 12 . 在OpenJDK jdk-dev邮件列表上的标题为" JDK 12的计划时间 ...

  4. 我爱计算机视觉精华文章分类汇总(2018年12月13日)

    关注我爱计算机视觉,一个有价值有深度的公众号 目标检测 今日重磅!恺明大神又一力作!重新思考万能的ImageNet预训练模型 YOLO-LITE:专门面向CPU的实时目标检测 Softer-NMS:C ...

  5. php for循环日历,用php循环语句实现日历查询 2018年4月13日

    1.前端代码m.php 实例 html> 月历生成器 .form { width:400px; background-color: lightgreen; } p{ text-align: ce ...

  6. php变量有三种不同的作用域,PHP中变量类型与转换,变量的检测以及变量的作用域学习--2018年4月13日12时03分...

    今天主要讲述了变量类型与转换,变量的检测,变量的作用域. 一.变量的类型与转换 在PHP中有八种变量类型,分别是: 标量中的整形(int),浮点型(float),字符串(string),布尔型(boo ...

  7. 2018年9月13日训练日记

    今晚看了kuangbin最短路专题,我做题真的好慢,看着提交栏里一个大二的学生都ac了好几个题,我还就提交了一个题.看来我训练这么久,之所以没有取得什么成绩.不是我投入的时间少,而是效率极低.

  8. 2018年9月13日英语学习

    句子 The secret to eating less and being happy about it may have been cracked(有裂缝的,声音沙哑的) years ago-by ...

  9. 照镜子——2018年2月3-6日

    停课反思 停课原因 头脑风暴 分期讨论 分期照镜子 小组内讨论 制定计划 反思 停课原因 2月2日早上,米老师在机房和几个人视察了一下机房,发现存在卫生方面的问题.几乎每个人的桌面卫生情况都是不符合卫 ...

最新文章

  1. mysql 字段扩容_解决DB2事物日志满、扩充表字段长度和表空间的命令
  2. SAP S4 OP/Cloud大乱斗
  3. jakarta ee_关于Jakarta EE软件包名称更改的思考
  4. 实例8:python
  5. 跨平台(windows+linux)的线程辅助程序,跨平台(Windows+Linux)的Socket通讯程序(二)—结构...
  6. 实践平台linux,关于构造Linux系统实践平台的设想
  7. 搞个游戏赚大钱!华为云搞了个吃鲲游戏,约你来打怪!
  8. 极简主义shiny app
  9. CSP-M2 B - HRZ 学英语
  10. html5光线传感器,光线传感器是什么
  11. SSD NVMe核心之PRP算法
  12. 用as写2048游戏
  13. python报告水印怎么弄_如何用python操作word添加水印?这里有个问题,希望大家看一下!...
  14. PlayStation5上手体验
  15. 关于vs2005、vs2008和vs2010项目互转的总结
  16. 关于ITIL、ITIL认证、ITIL的价值
  17. Maplab系列15:Inverted File
  18. java代码输出万年历
  19. 在IIS中使用SSL配置HTTPS网站
  20. 蚂蚁金服开源背后的“有意思”工程师 | 1024快乐

热门文章

  1. U盘出现“请将磁盘插入U盘”的问题怎么解决?
  2. Git 换行符自动转换
  3. 非常全面的前端协作规范
  4. 苹果手机投影_手机、平板屏幕投到投影机上常见问题与答案
  5. 使用IDEA编写Java程序时遇到的小提醒Common part can be extracted from ‘if‘
  6. 我想谈一谈外包,请不要“妖魔化”它。
  7. 在这个“未来工厂”里, 人类仅凭脑电波控制机器
  8. python-伪随机数生成器
  9. matlab 找最小值位置,matlab 向量最小值位置
  10. 资源教程[外贸人zencart自助建站视频教程]:第四课(5)zencart更换模板