PHP 服务 php-fpm 的一些常见配置
< 操作系统 Centos7,PHP版本7.2.7 >
已下所有配置涉及到时间单位均使用 => 秒(s) 分 (m) 时 (h) 天(d)
【 以下为全局配置 】
01,关于,进程文件,日志文件保存为位置,日志级别的配置
# 进程号记录文件保存地址,默认自带前缀 /path/var/
pid = run/php-fpm.pid
# 错误日志保存地址,默认自带前缀 /path/var/
error_log = log/php-fpm.log
# 日志记录的级别,总共七个级别分别是 alert error warning notice debug notice debug
log_level = notice
# 日志内容的前缀
syslog.ident = php-fpm
02,连续发生错误时的重启配置,当第二个值的时间内 SIGSEGV 或者SIGBUS 错误出现大于第一个值,程序会重启
# 错误上限
emergency_restart_threshold = 0
# 段时间,支持单位,秒(s) 分 (m) 时 (h) 天(d)
emergency_restart_interval = 0
03,关于进程的一些常规配置
# 子进程响应时间,当子进程超过该时间没响应,会切换子进程
process_control_timeout = 5s
# 可以生成的进程最大数,会覆盖局部进配置中的 dynamic PM 的,谨慎使用
process.max = 0
04,进程的运行方式,即前后台
# yes 为后台运行, no 为前台运行
daemonize = yes
【 以下为工作进程的具体配置 】
01,运行路径用户和用户组的配置
# 运行路径的配置,默认为 PHP 安装的路径,不建议配置,方便移植
prefix = /path/to/pools/$pool
# 运行的用户,生产环境下不建议使用 root,使用 root 启动时要加上 -R 参数
user = root
# 运行用户所在的组,非必须
group = root
02,关于 IP 和端口的监听
# 能被 FastCGI 请求访问的地址,如果要被外网访问,需要绑定公网IP
listen = 127.0.0.1:9000
# 监听队列的最大值
listen.backlog = 511
# 允许连接的FastCGI客户端的地址列表
listen.allowed_clients = 127.0.0.1
03,关于工作进程数量的控制
# 启动哪一种模式,共三种 dynamic(动态),ondemand(按需),static(静态)
pm = dynamic
# 当 pm 设置为 static 时要创建的子进程数量,当PM设置为“动态”或“按需”时子进程的最大数量
pm.max_children = 5
# 当 pm 设置为 dynamic 时初始化的进程数
pm.start_servers = 1
# 当 pm 设置为 dynamic 时允许的最小进程数
pm.min_spare_servers = 1
# 当 pm 设置为 dynamic 时允许的最大进程数,不能大于 pm.max_children
pm.max_spare_servers = 3
# 子进程空闲多久之后自动关闭,当 pm 设置为 ondemand 下有效
pm.process_idle_timeout = 100s
# 子进程在处理了多少请求之后重启,有助于防止内存泄露,0 不重启,这个值在条件允许下可以设置的大一点
pm.max_requests = 500
# 查看 FPM 运行状态,获取相关参数的路径
pm.status_path = /status.php
04,服务运行是否正常的检测
# Web ping 指令模拟地址,常用来检测服务是否正常启动,正常返回 pong
ping.path = /ping.php
# 自定义 ping 请求的响应
ping.response = pong
05,日志相关配置(访问日志一般使用 nginx 的日志,不建议配置)
# 访问日志的保存路径,默认不配置
access.log = log/$pool.access.log
# 日志输出格式
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
06,请求响应慢速的日志相关配置
# 单个请求的超时时间,超过这个时间的请求会被记录到慢速日志
request_slowlog_timeout = 0
# 响应慢的请求日志保存地址,如果配置了 request_slowlog_timeout,必须配置
slowlog = log/$pool.log.slow
# 缓慢日志跟踪的堆栈跟踪深度
request_slowlog_trace_depth = 20
# 单个请求可执行的脚本的最大时间,和 php.ini 的 max_execution_time 共同决定脚本的最大执行时间
07,PHP环境的相关配置
# 清除 FPM 工作进程的环境,防止任意变量进入到辅助进程,为 no 可以使用任意变量
clear_env = yes
# 设置 PHP 解析脚本的后缀,防止恶意上传的文件解析执行,可以是多个,用空格隔开
security.limit_extensions = .php .php3 .php4 .php5 .php7
PHP 服务 php-fpm 的一些常见配置的更多相关文章
- Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机
Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚 ...
- Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面
Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.status功能概述 status页 ...
- Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项
Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ServerSignature指令概述 ...
- Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享
Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.实现用户家目录的http共享前提 在配置家目录共 ...
- Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名
Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建测试数据 [root@node101.yinzhengj ...
- Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集
Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看生产环境中使用的字符集案例 1>.查看腾讯设置的默认 ...
- Httpd服务入门知识-Httpd服务常见配置案例之日志设定
Httpd服务入门知识-Httpd服务常见配置案例之日志设定 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志类型 [root@node101.yinzhengjie.org ...
- Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制
Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Options 1>.OPTIONS指 ...
- Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制
Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基于用户的访问控制概述 认证质询: WWW-Auth ...
- Httpd服务入门知识-Httpd服务常见配置案例之定义站点主页面及错误页面配置
Httpd服务入门知识-Httpd服务常见配置案例之定义站点主页面及错误页面配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.定义站点主页面 [root@node101.yi ...
随机推荐
- tomcat源码 StandardService
在执行StandardServer的initInternal的时候会执行StandardService#init,然后会调到initInternal protected void startInter ...
- 【转】在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
参考 原文链接 @Transactional does not work on method level 描述 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational) ...
- Java NIO系列教程(二) Channel通道介绍及FileChannel详解
目录: <Java NIO系列教程(二) Channel> <Java NIO系列教程(三) Channel之Socket通道> Channel是一个通道,可以通过它读取和写入 ...
- Git revert及其他一些回退操作
放弃本地的代码和本地提交,希望会退到远程分支的某次提交时,使用git reset --hard fa042ce. 本地已提交,但是发现有问题,想要撤销本地的提交,使用git checkout /trs ...
- jdbi
JDBI是一个使用方便的SQL开发库,用符合Java语言习惯的集合.Bean等方式,提供关系数据库访问接口,同时保留了JDBC类似的信息.JDBI提供了链式和SQL两种风格的API. jdbi的网址是 ...
- centos 7安装搜狗输入法
1.安装alien依赖软件 sudo yum install alien -y 2.安装依赖软件 sudo yum install qtwebkit -y 3.转换rpm包 sudo alien -r ...
- win7运行bat文件 一闪而过 解决 必须要将生成器放在C盘等没有中文的目录里
1.在*.bat所在的文件夹按住shift 键然后鼠标右键,选择“在此处打开命令窗口”, 2.输入bat文件名称然后回车 这样就不会自动消失(只在win7 x64 上尝试过)
- 牛客网剑指Offer——正则表达式匹配
1. 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整 ...
- root用户以修改文件的方式,修改用户密码
老早就听说linux的用户密码只是存储在普通的文本文件里,但一直没去了解,今天遇上了需要强行修改的情况... 给碰到个奇葩linux,居然没有passwd命令. 生成密码摘要 openssl pass ...
- Java - 25 Java 包(package)
Java 包(package) 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间. 包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2 如同文件夹一样,包 ...