前面介绍到在fpm_run()中 master 进程将进入fpm_event_loop():
这就是 master 整体的处理,其进程管理主要依赖注册的几个事件 , 接下来我们详细分析下这几个事件的功能 。
(1)sp[1]管道可读事件:
在 fpm_init() 阶段 master 曾创建了一个全双工的管道:sp,然后在这里创建了一个 sp[0] 可读的事件,当 sp[0] 可读时将交由 fpm_got_signal() 处理,向 sp[1] 写数据时 sp[0] 才会可读,那么什么时机会向 sp[1] 写数据呢?前面已经提到了:当 master 收到注册的那几种信号时会写入 sp[1] 端,这个时候将触发 sp[0] 可读事件 。
这个事件是 master 用于处理信号的,我们根据 master 注册的信号逐个看下不同用途:
具体处理逻辑在 fpm_got_signal() 函数中 , 这里不再罗列 。
(2)fpm_pctl_perform_idle_server_maintenance_heartbeat():
这是进程管理实现的主要事件,master 启动了一个定时器 , 每隔 1s 触发一次,主要用于 dynamic、ondemand 模式下的 worker 管理,master 会定时检查各 worker pool 的 worker 进程数,通过此定时器实现 worker 数量的控制,处理逻辑如下:
(3)fpm_pctl_heartbeat():
这个事件是用于限制 worker 处理单个请求最大耗时的 , php-fpm.conf 中有一个request_terminate_timeout的配置项,如果 worker 处理一个请求的总时长超过了这个值那么 master 将会向此 worker 进程发送kill -TERM信号杀掉 worker 进程 , 此配置单位为秒,默认值为 0 表示关闭此机制,另外 fpm 打印的 slow log 也是在这里完成的 。
除了上面这几个事件外还有一个没有提到,那就是 ondemand 模式下 master 监听的新请求到达的事件,因为 ondemand 模式下 fpm 启动时是不会预创建 worker 的,有请求时才会生成子进程,所以请求到达时需要通知 master 进程,这个事件是在fpm_children_create_initial()时注册的,事件处理函数为fpm_pctl_on_socket_accept(),具体逻辑这里不再展开,比较容易理解 。
原文出处:
如何配置php服务器一、Apache安装
版本解释:openssl是表示带有openssl模块 , 利用openssl就可以给Apache配置SSL安全链接的,也就是使用https://方式进行访问 。
nossl则表示不带OpenSSL模块,无 法用于SSL安全链接 , 在这里我们下载带OpenSSL的 。
选择版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi
下载地址:
首先我们在D盘(盘符根据实际情况自己选择)新建一个目录,
并且命名为“WAMP”其意义为“Wdindows Apache Mysql PhpMyAdmin” 之后安装的一些内容 , 也都将安装在该目录下 。
【php监听端口数据 php监听文件和端口的区别】1.安装说明:
运行apache安装程序,方法非常简单 , 弹安装界面后一直“next”
接着会出现一个界面,需要填写3个内容,分别为:Network Domain、Server Name、Administrator’s Email Address 随便填写就好,不影响内容 。
在下面还有2个选项,默认选择为80端口,第二个为8080端口,根据个人需求选择,一般为默认80端口 。
我们继续安装,选择Custom(自定义安装)-“next”
其中有打着红X的组件,我们单击这个组件容 , 选择“This feature, and all subfeatures, will be installed on local hard drive.” , 即“此部分,及下属子部分内容,全部安装在本地硬盘上” 。-“next”
然后选择右下角的“change ”改变安装路径,安装到刚才建立的目录中“D:\WAMP\Apache\”-“next”
安装完毕后,电脑右下角会多出一个图标,双击打开,选择start或restart,能正常运行,至此安装完毕 。
2.修改配置:
推荐阅读
- 有人玩小米赛车的游戏吗,有人玩小米赛车的游戏吗视频
- gis导出cad信息,gis导出图纸
- lol开直播需要什么设置,lol开直播需要什么设置才能开
- vmos更改虚拟机版本,vmos虚拟机改型号
- go语言将会取代 go语言什么时候推出的
- 阿里巴巴全面支持鸿蒙系统,阿里用的什么系统
- js代码放外部不生效,js代码不能写在哪
- 手机怎么看淘宝客扣几个点,淘宝客怎么查
- php数据库优化处理6 php优化mysql方法