php与web服务器关系
来源:互联网 发布:费用优化方案 编辑:程序博客网 时间:2024/06/17 13:47
在解析这个问题前,先要讲述一个概念,什么是cgi程序?
1.什么是cgi程序,cgi与fastcgi的区别
CGI的中文名称是通用网关接口,是外部应用程序与web服务器之间的接口标准。CGI规范允许web服务器执行外部程序,并将它们的输出发送给web浏览器。而fastcgi则是一个常驻型的cgi,它可以一直执行着,不需求每次请求都必须fork进程来处理,此外,它还支持分布式运算,接受来自其他服务器的请求。
以下表格总结出它们的异同点:
fastcgi不用fork新的进程处理请求,性能上比cgi程序要优。
2.PHP与web服务器通讯方式
1)php-fpm模式
php-fpm是一个php fastcgi管理器,可以视为php-cgi程序的守护进程。该模式下,php-fpm进程负责接收web服务器请求,分发给它的子进程——php-cgi来处理数据。这种模式一般搭配Nginx使用,其配置如下:
location ~ .*\.(php|php5)?$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /etc/nginx/fastcgi.conf; }php-fpm已经纳入php内核,在编译时通过--enable-fpm来启用改功能。
2)mod_php模式
该模式下,一般是作为apache的一个模块启动的,apache在启动时,会读取php.ini文件并加载扩展模块,除非apache重启,php模块不会被重新加载。在该模式下,apache使用prefork模式(非线程型,预派生web服务器),或者worker模式处理(混合多线程多进程,由于使用线程处理请求,系统开销小于prefork模式,但是它既有多进程,因此也能保证prefork模式的稳定性)。由于不需要额外的进程通讯和应用解析,该模式性能要比fastcgi好得多。
以下,也作了一个表格,来对比fastcgi和mod_php
3.PHP推荐服务器配置方式
综合以上的对比,可以利用每个模式的特性,一般常用的是nginx处理静态文件,php请求则是通过转发,让apache处理。
- php与web服务器关系
- 区分Tomcat与Web服务器、应用服务器的关系
- 区分Tomcat与Web服务器、应用服务器的关系
- Tomcat与Web服务器、应用服务器的关系
- 搭建WEB服务器,nginx与php
- WEB服务器:Apache、Tomcat、JBoss、WebLogic的区别与关系
- WEB服务器:Apache、Tomcat、JBoss、WebLogic的区别与关系
- 深入理解PHP原理之PHP与WEB服务器交互
- Servlet和web服务器关系
- Nginx + PHP Web服务器
- PHP内置web服务器
- php 内置Web服务器
- PHP与MySQL关系
- Servlet/JSP各规范与Web服务器Tomcat各版本的对应关系
- WEB服务器:Apache、Tomcat、JBoss、WebLogic、Websphere、IIS的区别与关系
- WEB服务器:Apache、Tomcat、JBoss、WebLogic、Websphere、IIS的区别与关系
- Web服务器与应用服务器
- web服务器与APP服务器
- 代理的作用
- 【Android API Guides简译(四)】使用Service还是使用线程?
- sourceinsight添加makefile、kconfig、*.S文件支持
- cocostudio打包时提示ANT_ROOT not defined. Please define it in your environment解决方法
- Cocos2d-JS____CocosDenshion引擎
- php与web服务器关系
- Make 命令教程
- hdu3652 数位DP
- linux手动编译qt 4.8 , opengl
- n个数出现2次,2个数出现1次,找出这两个数
- 网络分成
- java.lang.OutOfMemoryError: PermGen space及其解决方法
- 最长公共子序列(LCS)
- JS的数据类型