精华内容
下载资源
问答
  • 用于Nginx和php-fpm的OpenShift模板 ! 移至 ! ...oc create -f https://raw.githubusercontent.com/rybnico/openshift-nginx-php-fpm/master/nginx-php-fpm-template.yaml 或直接处理 oc proce
  • 用WebShell攻击PHP-FPM 来自大佬的文末一个想法 快速实现了一个poc,可以实现任意代码执行 后续用单文件PHP实现一个FastCgi Client,然后已知PHP文件就用WebShell本身,没有什么骚操作的话WebShell应该就是免杀的 ...
  • $ docker run -it --name phpfpm -v /path/to/app:/app bitnami/php-fpm Docker撰写 $ curl -sSL ...
  • ansible-role-apache-php-fpm:Apache FastCGI对PHP-FPM的支持
  • PHP-FPM Docker映像 用于安装和运行Docker容器。 支持的分支和相应的Dockerfile链接 主 7.4.10 7.4.4 7.4.2 7.4.0 7.3.10 7.3.9 7.3.8 7.3.7 7.3.6 7.3.3 7.3.2 Dockerfile 7.2.15 Dockerfile 7.2.13 ...
  • PHP-FPM Docker映像 用于安装和运行Docker容器。 项目目标 开箱即用的多版本,完全加载PHP-FPM docker映像,可以支持我的所有PHP项目。 我使用WordPress和Laravel。 图像不轻。 目的是支持开箱即用的最大数量的功能...
  • 基于php:7.2-fpm-alpine3.7图像的php-fpm强化图像 设定档 allow_url_fopen = Off allow_url_include = Off allow_webdav_methods = Off default_socket_timeout = 60 disable_classes = disable_functions = chdir,...
  • PHP-FPM Docker映像 该存储库将为您提供功能齐全PHP-FPM Docker映像,这些映像具有不同的风格,版本以及不同类型的集成PHP模块。 它还解决了在主机和容器之间已安装卷的的问题。 Docker集线器 上游项目 基本图片 ...
  • PHP-FPM 图片来自官方debian:jessie PHP-FPM版本-7.0.20 DateTime-欧洲/基辅 全局安装的作曲家 入门 该说明将帮助您启动PHP-FPM + NGINX + DB(Postgres或Mysql)并运行您的应用程序。此外,我们建议您使用其他...
  • mediawiki-php-fpm5.4 这是旧版Mediawiki 1.20PHP5.4-FPM。 建议将Mediawiki更新到最新版本,并使用正式的Mediawiki容器。 部署 用于部署的示例docker-compose.yml文件。 version: "3" services: php-fpm: ...
  • nginx.php-fpm:使用php-fpm构建Docker映像nginx
  • 带有扩展的Docker PHP-FPM 包含和一些Docker映像。...docker pull docker.io/xjokay/php-fpm-ext:latest 标签 标签 描述 尺寸 最新的 发行 {释放} 特定发行版本,请参阅可用 支持的php扩展 支持以下php扩展名:
  • docker-nginx-php-fpm Docker +(Traefik +)Nginx + PHP-FPM =正确的方法 跑步 docker-compose up --detach docker-compose exec php-fpm composer install docker-compose up --detach \ --scale nginx=3 \ --...
  • PHP-FPM-状态-仙人掌 用于PHP-FPM状态页面的Cacti模板。 基于curl的模板,而不是基于SNMP的模板。 ([屏幕截图]( “ PHP-FPM状态页面屏幕截图的仙人掌模板”)) PHP-FPM状态页面示例。 pool: www process ...
  • 这是一个Dockerfile / image,用于为nginx和php-fpm构建容器,具有在创建容器时从git提取网站代码的功能,并允许容器在git和git之间推送和删除代码更改。 该容器还可以使用传递给docker的变量来更新模板文件,以更新...
  • 配置make时写明产生php-fpm 但是make all install之后,发现在/usr/local/php/etc/下没有php-fpm.conf.default文件,而且也没有/usr/local/php/sbin/php-fpm,请问该如何处理,在线等,急,谢谢
  • spaceonfire / nginx-php-fpm 基于Alpine Linux的Docker映像,安装了Nginx和PHP-FPM。 概述 该Docker映像允许您对任何PHP应用程序进行Docker化。 spaceonfire/nginx-php-fpm提供了一系列不同的预设,可满足使用PHP...
  • 1,查看php-fpm状态 systemctl status php-fpm 2,启动php-fpm systemctl start php-fpm 3,停止php-fpm systemctl stop php-fpm 4,重启php-fpm systemctl restart php-fpm

    1,查看php-fpm状态

        systemctl status php-fpm
    

    2,启动php-fpm

        systemctl start php-fpm
    

    3,停止php-fpm

        systemctl stop php-fpm
    

    4,重启php-fpm

        systemctl restart php-fpm
    
    展开全文
  • Ubuntu + Caddy + PHP-FPM 7.2 在Ubuntu上为Laravel和PHP项目构建的Caddy + PHP-FPM 7.2 + Composer 介绍 这是一个Dockerfile,用于构建运行Caddy v2和php-fpm 7.2.x&Composer的基于ubuntu的容器映像。 版本控制 ...
  • 角色php-fpm 对于Freebsd和Debian 使用“站点”配置安装php-fpm和一个或多个池。 每个站点调用Web服务器角色(默认情况下为nginx)以创建HTTP conf php.ini 在templates / php.ini.j2中有一个默认的php.ini。 ...
  • docker-撰写PHP-FPM和MYSQL 使PHP-FPM容器与Nginx一起使用的示例配置。 增加虚拟内存区域 sudo sysctl -w vm.max_map_count=262144 二手软件 配置主机(添加的行完成文件) Patch Linux: etc/hosts Patch ...
  • PHP-FPM源码分析 入口文件 fpm/fpm/fpm_main.c int main(int argc, char *argv[]) { ... ... // 初始化 if (0 > fpm_init(argc, argv, fpm_config ? fpm_config : CGIG(fpm_config), fpm_prefix, fpm_pid, test_...
  • /usr/local/php/sbin/php-fpm -t 为检测 php-fpm.conf 配置文件语法. 在我本例中错是因为 存在两个 pm = dynamic 一个是在 php-fpm.conf 中, 另一个是在 www.conf中. 因为php-fpm.conf中有一句 include=/...

     /usr/local/php/sbin/php-fpm  -t  为检测 php-fpm.conf  配置文件语法. 

    在我本例中错是因为    存在两个

    pm = dynamic  
    

    一个是在 php-fpm.conf 中, 

    另一个是在 www.conf中.

    因为 php-fpm.conf中有一句 

    include=/usr/local/php/etc/php-fpm.d/*.conf   就是引入了 www.conf了
    

    所以就有两个 pm = dynamic; 导致语法错误

    所以要改 php-fpm配置时  一般要兼顾看下 php-fpm.conf 或 www.conf  ,不要添加了和另一文件中的东西冲突了.

    展开全文
  • xymon-php-fpm xymon-php-fpm 是一个 perl 脚本,您可以使用它来监控 php-fpm 安装并将其计数器图形化到您的 BB/Hobbit/Xymon 服务器中。 这个怎么运作 xymon_php_fpm.pl连接到您的 php-fpm 服务器状态页面以获取所...
  • LaravelPHP-FPM Docker映像 用于运行基于Laravel的应用程序的php-fpm容器的Docker映像。 规格: PHP 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 5.6 / 5.4 OpenSSL PHP扩展 PDO PHP扩展 SOAP PHP扩展 Mbstring PHP扩展 ...
  • PHP-FPM

    千次阅读 2015-02-15 16:39:23
    什么是PHP-FPM?PHP-FPMPHP专用的实现FastCGI协议用于管理PHP-CGI的进程管理器。安装PHP-FPMPHP5.3.3以后便集成在了PHP中,不需要单独安装。使用启动➜ ~ sudo php-fpm [15-Feb-2015 15:52:10] NOTICE: fpm is ...

    什么是PHP-FPM?

    PHP-FPM是PHP专用的实现FastCGI协议用于管理PHP-CGI的进程管理器。

    安装

    PHP-FPM在PHP5.3.3以后便集成在了PHP中,不需要单独安装。

    使用

    启动

    ➜  ~  sudo php-fpm
    [15-Feb-2015 15:52:10] NOTICE: fpm is running, pid 6995
    [15-Feb-2015 15:52:10] NOTICE: ready to handle connections
    

    上面第二行就是php-fpm启动以后的进程号pid 6995。
    以这种方式启动后,php-fpm会占用该终端运行。

    重启

    ➜  logs git:(master) sudo kill -SIGUSR2 6995 //6995是php-fpm的进程号
    [15-Feb-2015 15:54:51] NOTICE: Reloading in progress ...
    [15-Feb-2015 15:54:51] NOTICE: reloading: execvp("php-fpm", {"php-fpm"})
    [15-Feb-2015 15:54:51] NOTICE: using inherited socket fd=6, "127.0.0.1:9000"
    [15-Feb-2015 15:54:51] NOTICE: fpm is running, pid 6995
    [15-Feb-2015 15:54:51] NOTICE: ready to handle connections
    

    平滑关闭

    ➜  logs git:(master) sudo kill -SIGQUIT 7688
    [15-Feb-2015 16:19:01] NOTICE: Finishing ...
    [15-Feb-2015 16:19:01] NOTICE: exiting, bye-bye!
    

    强行关闭

    ➜  logs git:(master) sudo kill -SIGINT|SIGTERM 6995 //SIGINT, SIGTERM两个信号都可以
    [15-Feb-2015 16:10:43] NOTICE: Terminating ...
    [15-Feb-2015 16:10:43] NOTICE: exiting, bye-bye!
    

    重新打开日志文件,不是很清楚这是什么意思。。。

    ➜  logs git:(master) sudo kill -SIGUSR1 6995 //6995是php-fpm的进程号
    [15-Feb-2015 16:02:00] NOTICE: error log file re-opened
    
    展开全文
  • php-fpm的连接池pool设置 php-fpm服务可以设置多个pool,可以针对每个web服务器设置一个pool,从而将服务器隔离,在其中一个pool资源耗尽时也不会导致其他站点访问不了,出现502报错的状况。1、编辑php-fpm配置文件...
    php-fpm的连接池pool设置
    php-fpm服务可以设置多个pool,可以针对每个web服务器设置一个pool,从而将服务器隔离,在其中一个pool资源耗尽时也不会导致其他站点访问不了,出现502报错的状况。

    1、编辑php-fpm配置文件
    [root@aliyun ~]# vim /usr/local/php-fpm/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.log
    [www] 可以随便命名,主要看下方listen监听的套接字或端口跟哪个虚拟主机对应
    listen = /tmp/ php-fcgi.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



    [test] 配置test主机的pool 池,可随便命名,主要看下面listen监听的端口或套接字跟哪个网站对应
    listen = /tmp/ test .sock 这里的监听地址也得改一下,也可以用 127.0.0.1:1234 的形式监听
    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
    2、测试语法,重载php-fpm服务,查看是否有进程
    [root@aliyun ~]# /usr/local/php-fpm/sbin/php-fpm -t
    [14-Jun-2018 21:24:08] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
    [root@aliyun ~]# service php-fpm reload
    Reload service php-fpm done
    [root@aliyun ~]# ps aux |grep php
    root 15948 0.0 0.2 123456 4832 ? Ss 21:26 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
    php-fpm 15949 0.0 0.2 123396 4572 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15950 0.0 0.2 123396 4576 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15951 0.0 0.2 123396 4576 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15952 0.0 0.2 123396 4576 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15953 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15954 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15955 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15956 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15957 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15958 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15959 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15960 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15961 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15962 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15963 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15964 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15965 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15966 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15967 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15968 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15969 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15970 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15971 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15972 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15973 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15974 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15975 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15976 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15977 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15978 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15979 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15980 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15981 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15982 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15983 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15984 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15985 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15986 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15987 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15988 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    root 15990 0.0 0.0 112660 968 pts/1 R+ 21:27 0:00 grep --color=auto php
    [root@aliyun ~]#

    第2种方法:
    1、在php-fpm/etc/目录下创建php-fpm.d/目录
    [root@aliyun ~]# mkdir /usr/local/php-fpm/etc/php-fpm.d/
    2、编辑php-fpm.conf文件
    [root@aliyun ~]# vim /usr/local/php-fpm/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.log
    include = etc/php-fpm.d/*.conf 加入这一行, 并剪切剩余的pool配置
    保存退出

    3、创建 pool池www的配置文件 www.conf
    [root@aliyun ~]# vim /usr/local/php-fpm/etc/php-fpm.d/www.conf
    并粘贴www这部分
    [www]
    listen = /tmp/php-fcgi.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

    4、创建pool池test的配置文件test.conf
    [root@aliyun ~]# vim /usr/local/php-fpm/etc/php-fpm.d/test.conf
    并粘贴test这部分
    [test]
    listen = /tmp/test.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
    5、编辑虚拟主机配置文件test.conf( 我这里之前没有配置test主机
    [root@aliyun ~]# vim /usr/local/nginx/conf/vhost/test.conf
    写入如下内容:

    server
    {
    listen 80 ;
    server_name test.com ;
    index index.html index.htm index.php;
    root /data/wwwroot/ test.com ;

    location ~ \.php$
    {
    include fastcgi_params;
    fastcgi_pass unix:/tmp/ test.sock ;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /data/wwwroot/ test.com $fastcgi_script_name;
    }
    access_log /data/logs/test.com.log combined_realip;
    }
    6、检测语法错误,重载php-fpm再查进程
    [root@aliyun ~]# /usr/local/php-fpm/sbin/php-fpm -t
    [14-Jun-2018 21:24:08] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful
    [root@aliyun ~]# service php-fpm reload
    Reload service php-fpm done
    [root@aliyun ~]# ps aux |grep php
    root 15948 0.0 0.2 123456 4832 ? Ss 21:26 0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)
    php-fpm 15949 0.0 0.2 123396 4572 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15950 0.0 0.2 123396 4576 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15951 0.0 0.2 123396 4576 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15952 0.0 0.2 123396 4576 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15953 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15954 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15955 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15956 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15957 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15958 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15959 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15960 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15961 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15962 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15963 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15964 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15965 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15966 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15967 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15968 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool www
    php-fpm 15969 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15970 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15971 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15972 0.0 0.2 123396 4580 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15973 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15974 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15975 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15976 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15977 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15978 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15979 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15980 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15981 0.0 0.2 123396 4584 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15982 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15983 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15984 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15985 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15986 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15987 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    php-fpm 15988 0.0 0.2 123396 4588 ? S 21:26 0:00 php-fpm: pool test
    root 15990 0.0 0.0 112660 968 pts/1 R+ 21:27 0:00 grep --color=auto php
    [root@aliyun ~]#

    php-fpm慢执行日志
    在php编写的网站中,我建议大家用LAMP架构,因为如果网站访问速度太慢可以找到具体的问题,这里有个非常重要的配置就是php-fpm慢执行日志。

    1、还以test主机为例,编辑test.conf配置文件
    [root@aliyun ~]# vim /usr/local/ php-fpm/etc /php-fpm.d/test.conf

    [test]
    listen = /tmp/test.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
    插入慢执行配置
    request_slowlog_timeout = 2 记录执行时间大于2秒(阀值)的命令
    slowlog = /data/logs/test-slow.log 慢执行日志记录存放位置

    2、重载php-fpm服务
    [root@aliyun ~]# service php-fpm reload
    Reload service php-fpm done

    3、查看慢查询日志是否生成
    [root@aliyun ~]# ls /data/logs/
    test.com.log nginx_error.log test-slow.log

    4、创建慢执行测试脚本:
    [root@aliyun ~]# vim /data/wwwroot/test.com/sleep.php 创建测试脚本
    写入测试脚本内容

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

    保存退出

    5、测试访问慢执行脚本
    [root@aliyun etc]# curl -x127.0.0.1:80 test.com/sleep.php 测试发现没有任何输出,有错误

    6、排错:
    [root@aliyun ~]# curl -x127.0.0.1:80 test.com/sleep.php -I
    HTTP/1.1 500 Internal Server Error
    Server: nginx/1.14.0
    Date: Fri, 15 Jun 2018 09:50:26 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    X-Powered-By: PHP/5.6.36

    [root@aliyun ~]# vim /usr/local/php-fpm/etc/php.ini 打开php的配置文件,不是php-fpm服务的配置
    搜索这display_errors并改为:
    display_errors = On
    这个显示错误的功能只在排错时开启,不然会有安全隐患,因为用户访问时有关php的任何错误都会直接显示再浏览器里,处理影响用户体验外,更重要的是会把网站的配置信息暴露出来。
    保存退出

    [root@aliyun ~]# service php-fpm reload 重载后再次访问慢查询脚本sleep.php
    Reload service php-fpm done
    [root@aliyun ~]# curl -x127.0.0.1:80 test.com/sleep.php
    <br />
    <b> Parse error </b>: syntax error , unexpected 'slow' (T_STRING), expecting ',' or ';' in <b>/data/wwwroot/test.com/sleep.php</b> on line <b> 2 </b><br />
    发现脚本第2行有语法错误,

    [root@aliyun ~]# vim /data/wwwroot/test.com/sleep.php 重新编辑脚本,将全角符号改为半角符号
    [root@aliyun ~]# service php-fpm reload
    Reload service php-fpm done
    7、再次测试访问慢执行脚本
    [root@aliyun ~]# curl -x127.0.0.1:80 test.com/sleep.php
    test slow logdone 执行成功,再输入命令后有停顿2秒!

    8、查看慢查询日志:
    [root@aliyun ~]# cat /data/logs/test-slow.log

    [15-Jun-2018 18:08:49] [pool test] pid 17735
    script_filename = /data/wwwroot/test.com/sleep.php 此文件执行时超过了慢执行阀值
    [0x00007fc568afe280] sleep() /data/wwwroot/test.com/sleep.php: 3 其中第3行执行超过慢执行阀值
    [root@aliyun ~]#

    9、关闭display_errors,并配置错误日志路径
    [root@aliyun ~]# vim /usr/local/php-fpm/etc/php.ini
    搜索display_errors,并改为:
    display_errors = Off
    搜索log_errors,并改为:
    log_errors = On
    搜索;error_log, 并在 ; error_log = syslog下方插入:
    error_log = /usr/local/php-fpm/var/log/php-error.log
    搜索error_reporting,并将错误日志级别改为:
    error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
    创建错误日志文件,并改权限
    [root@aliyun ~]# touch /usr/local/php-fpm/var/log/php-error.log
    [root@aliyun ~]# chmod 666 /usr/local/php-fpm/var/log/php-error.log

    open_basedir
    和LAMP架构一样,LNMP架构也可以定义open_basedir功能,如果服务器上只运行一个站点,无论LAMP还是LNMP架构,可以在php的配置文件/usr/local/php/etc/php.ini 或/usr/local/php-fpm/etc/php.ini 里配置。如果服务器上运行多个站点,LAMP架构里是在apache的配置文件/usr/local/apache2.4/conf/extra/httpd-vhosts.conf里设置,LNMP架构里则是在 /usr/local/php-fpm/etc/php-fpm.conf里针对每个主机分别配置,或在/usr/local/php-fpm/etc/php-fpm.d/下针对每个主机单独的配置文件里进行配置。
    1、编辑test主机的配置文件
    [root@aliyun ~]# vim /usr/local/php-fpm/etc/php-fpm.d/test.conf
    编辑测试脚本:
    [test]
    listen = /tmp/test.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

    request_slowlog_timeout = 2
    slowlog = /data/logs/test-slow.log
    php_admin_value[open_basedir]= /data/wwwroot/test.com : /tmp/
    插入open_basedir的配置,限定此虚拟机只能在test.com目录和tmp目录里活动,从而隔离每个站点。
    保存退出
    2、测试:
    [root@aliyun ~]# vim /usr/local/php-fpm/etc/php-fpm.d/test.conf
    编辑测试脚本并将站点目录 改错
    [test]
    listen = /tmp/test.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

    request_slowlog_timeout = 2
    slowlog = /data/logs/test-slow.log
    php_admin_value[open_basedir]= /data/wwwroot /wwwtest.com : /tmp/
    [root@aliyun ~]# service php-fpm reload 重载加载配置
    Reload service php-fpm done
    测试访问:
    [root@aliyun ~]# curl -x127.0.0.1:80 test.com/3.php -I
    HTTP/1.1 404 Not Found
    Server: nginx/1.14.0
    Date: Fri, 15 Jun 2018 16:48:56 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    X-Powered-By: PHP/5.6.36

    [root@aliyun ~]# cat /usr/local/php-fpm/var/log/php-error.log 查看错误日志
    [15-Jun-2018 16:48:56 UTC] PHP Warning: Unknown: open_basedir restriction in effect. File (/data/wwwroot/ test .com/3.php ) is not within the allowed path(s): (/data/wwwroot/ wwwtest .com:/tmp/ ) in Unknown on line 0
    [15-Jun-2018 16:48:56 UTC] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
    [root@aliyun ~]#
    将错误日志删除:
    [root@aliyun ~]# rm /usr/local/php-fpm/var/log/php-error.log
    rm: remove regular file ‘/usr/local/php-fpm/var/log/php-error.log’? y
    [root@aliyun ~]# curl -x127.0.0.1:80 test.com/3.php -I
    HTTP/1.1 403 Forbidden 错误代码变成了403
    Server: nginx/1.14.0
    Date: Fri, 15 Jun 2018 16:55:10 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: keep-alive
    X-Powered-By: PHP/5.6.36

    再将正确的站点路径改回去

    php-fpm进程管理
    查看站点的php-fpm配置文件
    [root@aliyun ~]# cat /usr/local/php-fpm/etc/php-fpm.d/test.conf
    [test]
    listen = /tmp/test.sock
    listen.mode = 666
    user = php-fpm
    group = php-fpm
    pm = dynamic 进程管理方式,动态dynamic,也可以静态static
    pm.max_children = 50 最大子进程数50,在满载时ps aux可以查看到50个子进程
    pm.start_servers = 20 启动服务时默认启动的进程数
    pm.min_spare_servers = 5
    定义空闲时段,子进程最少值,如果达到这个数值时,php-fpm服务会自动派生新的子进程。
    pm.max_spare_servers = 35
    定义空闲时段,子进程最大值,如果高于这个数值就开始清理空闲的子进程。
    pm.max_requests = 500
    定义一个子进程最多处理的请求数量,当达到这个数值时,会自动退出。
    rlimit_files = 1024

    request_slowlog_timeout = 2
    slowlog = /data/logs/test-slow.log

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



    展开全文
  • 码头应用 基于带有CentOS,PHP-FPM 5.4,SphinxSearch,Redis和Memcached的应用服务器的Docker映像
  • pid = run/php-fpm.pid #pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启 error_log = log/php-fpm.log #错误日志,默认在安装目录中的var/log/php-fpm.log error_log = log/php-fpm.log #错误日志,...
  • php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。为了后续的Prometheus监控,我们需要先了解php-fpm状态页是怎么回事。 [global] pid = /usr/local/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,352
精华内容 30,940
关键字:

php-fpm