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使用,其配置如下:

[plain] view plain copy

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好得多。

3.PHP推荐服务器配置方式

  综合以上的对比,可以利用每个模式的特性,一般常用的是nginx处理静态文件,php请求则是通过转发,让apache处理。

转载于:https://blog.51cto.com/13548980/2054625

php与web服务器关系相关推荐

  1. php和web服务器,php与web服务器关系

    在解析这个问题前,先要讲述一个概念,什么是cgi程序? 1.什么是cgi程序,cgi与fastcgi的区别 CGI的中文名称是通用网关接口,是外部应用程序与web服务器之间的接口标准.CGI规范允许w ...

  2. php与服务器关系,php与web服务器关系

    1.什么是cgi程序,cgi与fastcgi的区别 CGI的中文名称是通用网关接口,是外部应用程序与web服务器之间的接口标准.CGI规范允许web服务器执行外部程序,并将它们的输出发送给web浏览器 ...

  3. 一文读懂Python web框架和web服务器之间的关系

    我们都知道 Python 作为一门强大的语言,能够适应快速原型和较大项目的制作,因此被广泛用于 web 应用程序的开发中. 在面试的过程中,大家或多或少都被问到过这样一个问题:一个请求从浏览器发出到数 ...

  4. web服务器、应用服务器、web应用框架的关系

    概念 web服务器:负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的IIS. 应用服务器:负责处理逻辑的服务器.比如php.python的代码,是不能直接通过nginx这 ...

  5. Servlet的本质以及与Web服务器的关系

    简单介绍了Java Web的概念以及Web应用的发展. 文章目录 1 Java Web概述 2 Web请求 3 Web服务器与Servlet的关系 3.1 web服务器 3.2 Servlet规范 3 ...

  6. web服务器和后端语言的关系

    1.web服务nginx和php的相互关系  : https://www.cnblogs.com/luckylihuizhou/p/6387171.html 个人理解:web服务器本身没有处理后端语言 ...

  7. web服务器和应用服务器的区别以及负载均衡---学习笔记

    一.区别: web服务器可以解析(handles)http协议.当web服务器接收到一个http请求(request),会返回一个http响应 (response),例如送回一个html页面.为了处理 ...

  8. web个人主页制作代码_关于嵌入式web服务器

    1.boa的配置文件boa.conf Port 80 //服务访问端口 User 0 Group 0 ErrorLog /var/log/boa/error_log //错误日志地址 AccessLo ...

  9. FreeBSD从零开始---Web服务器搭建(一)

    前面我们介绍了FreeBSD的基本安装和网络安全. 现在,来吧,搭建你的第一个web应用服务器. 当然,作为一个完整系统的优点,就是你不用满internet去找rpm或者源码包.解压缩,指定confi ...

  10. Windows 网络服务架构系列课程详解(六) ---利用NLB群集实现WEB服务器的可靠性...

    Windows 网络服务架构系列课程详解(六) -----利用NLB群集实现WEB服务器的可靠性   实验背景: 在大型网络环境中存在这样一种情景,公司内部的FTP服务器出现故障或脱机了,而且不能快速 ...

最新文章

  1. 从互联网跳到国企半年了,说说我的感受!
  2. 使用元学习和推理改善您的模型!
  3. linux进程同步问题,关于LINUX下进程和线程对文件的同步问题,请高手来看看!!!...
  4. wp7 视频下载 资源收集
  5. 【数据结构与算法】之深入解析“两数相除”的求解思路与算法示例
  6. 哈希表(散列表)基础概念与经典题目(Leetcode题解-Python语言)之中——实际应用
  7. 1.9 编程基础之二分查找 12 最长平台 python
  8. Python之路(运算符)
  9. 案例1_公司简介(修改)
  10. nginx静态资源 性能_如何欺骗生产环境资源以进行性能调整
  11. matlab改变示波器颜色,[转载]matlab/simulink 示波器颜色设置
  12. swapidc卡密充值插件
  13. kjb文件 解析_十四期全国BIM一级考试真题及解析
  14. PyQt5中打开网址方法
  15. 电脑清灰你要知道的那些事(二)
  16. 【Python】Pandas实现二表查重高亮、去重
  17. cpu_scale/max_freq_scale/cpu_capacity/cpu_capacity_orig的含义
  18. Chinese-Whisper聚类算法
  19. D-013 蜂鸣器硬件电路设计
  20. 神经网络中的logits是什么意思

热门文章

  1. javascript设计模式实践之策略模式--输入验证
  2. 【转】Java多线程面试问题集锦
  3. OO(面向对象)的设计原则
  4. c#使用 Newtonsoft.Json 将entity转json时,忽略为null的属性
  5. Redis-key的设计技巧
  6. word域高级应用 if 域 域邮件合并的值的更改 日期的更改
  7. Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数
  8. Visual Studio Team System面面观系列课程幸运听众 又一次中奖,哈哈
  9. webpack入门总结1
  10. 《css世界》常用技巧——读书笔记