1.5-php-fpm配置文件
/usr/local/php/etc/php-fpm.conf 是php服务的配置
/usr/local/php/etc/php.ini 是php软件的全局配置.如:时钟
主要配置的是php服务的配置,自带服务样板很乱,首先清空,插入代码
> /usr/local/php/etc/php-fpm.conf 清空文件
vim /usr/local/php/etc/php-fpm.conf 其实删除注释后,也就是下面的代码
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock 监听的方式,一般为sockte 可以自定义,自动生成
user = php-fpm
group = php-fpm
pm = dynamic 动态的,管理下面的代码
pm.max_children = 50 最大50个子进程
pm.start_servers = 20 一开始启动20子子进程,即启动php就启动20个进程
pm.min_spare_servers = 5 最小子进程5个
pm.max_spare_servers = 35 最多35个子进程
pm.max_requests = 500 一个子进程在它的生命周期内,一共处理500个请求。自动销毁
rlimit_files = 1024 每一个进程,它所使用的文件描述符的限制,大点也没关系
slowlog = /tmp/www_slow.log 追踪网站,排查网站慢的日志
request_slowlog_timeout = 1 脚本超时1秒,记录到上条路径的slow.log中
php_admin_value[open_basedir]=/data/www/:/tmp/ 指定php有权限的目录
代码分为两个部分
1.global 全局配置,主要是pid和错误日志
2.www为服务配置,
如果配置中pm = static 那么只有pm.max_children = 50生效,也就是启动就有50个进程,其它不生效。
建议使用dynamic 一开始会启动20个pool,如果空闲,则一个个销毁,直到最小5个为止。
多个pool的配置 不同域名,对应不同pool。有2个好处,1可以为不同的网站赋予不同的权限2一个网站挂掉,不影响其他pool的网站。
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/www.sock
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
slowlog = /tmp/www_slow.log
request_slowlog_timeout = 1
[www1] 改动1
listen = /tmp/www1.sock 改动2
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
slowlog = /tmp/www1_slow.log
request_slowlog_timeout = 1
课后答疑:
1:有两个问题1 这个listen = /tmp/php-fcgi.sock 什么时候写sock 什么时候用127.0.0.1:9000呢?
2 php-fmp里面php_admin_value[open_basedir] =/data/www/ 和nginx里面的虚拟主机配置文件root /data/aaa 如果这两个同时配置了那个目录会生效呢?
答:1. listen你愿意用哪个就哪个,都差不多,但有的人认为socket性能要比ip:port的形式高效,在我看来都差不多。
2. nginx配置的只是一个网站根目录,而php里面的open_basedir 是限定php的,你这样设置后,发现你的网站根本就不能运行了。
2:php-fpm设置了多个池子,如果需要每个pool指定不同的用户,那用户是在php编译安装时在这里--with-fpm-user=php-fpm如何绑定多个用户呢
答:上面那个是默认的,我们还可以在配置文件里定义额外的。
3:理解不了socket是什么
答:就是用来通信的文件,类似tcp/ip的通信机制,这种文件是unix/linux系统里面特有的。像mysql的数据通信,我们就可以使用socket文件通信。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP中有四种主要错误类型:1.Notice:最轻微,不会中断程序,如访问未定义变量;2.Warning:比Notice严重,不会终止程序,如包含不存在文件;3.FatalError:最严重,会终止程序,如调用不存在函数;4.ParseError:语法错误,会阻止程序执行,如忘记添加结束标签。

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

在PHP中,应使用password_hash和password_verify函数实现安全的密码哈希处理,不应使用MD5或SHA1。1)password_hash生成包含盐值的哈希,增强安全性。2)password_verify验证密码,通过比较哈希值确保安全。3)MD5和SHA1易受攻击且缺乏盐值,不适合现代密码安全。

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

HTTP请求方法包括GET、POST、PUT和DELETE,分别用于获取、提交、更新和删除资源。1.GET方法用于获取资源,适用于读取操作。2.POST方法用于提交数据,常用于创建新资源。3.PUT方法用于更新资源,适用于完整更新。4.DELETE方法用于删除资源,适用于删除操作。

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

在PHPOOP中,self::引用当前类,parent::引用父类,static::用于晚静态绑定。1.self::用于静态方法和常量调用,但不支持晚静态绑定。2.parent::用于子类调用父类方法,无法访问私有方法。3.static::支持晚静态绑定,适用于继承和多态,但可能影响代码可读性。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。
