• 技术文章 >后端开发 >PHP问题

    nginx支持php吗

    (*-*)浩(*-*)浩2019-10-12 11:00:19原创1422
    FastCGI(Fast Common Gateway Interface,快速通用网关接口),是一个可伸缩的、高速地在HTTP server和动态脚本语言间通信的接口(或者说是协议)。

    Nginx + FastCGI运行原理 (推荐学习:PHP视频教程

    php-267.png

    Nginx不支持对外部程序的直接调用或者解析,所有的程序(包括PHP)必须通过FastCGI、uwsig接口调用。

    FastCGI接口调用在Linux下的socket(unix sockt或者ip:port 形式)。为了调用CGI程序,还需要一个FastCGI的wrapper,wrapper绑定在某个固定的socket上,如端口或者文件socket。

    当Nginx将CGI请求发送给这个socket时,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序 处理脚本,并读取返回数据;接着wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx。

    最后Nginx将返回的数据发送给客户端。

    PHP-FPM

    FastCGI接口方式在脚本解析服务器上启动一个或者多个守护进程对动态脚本进行解析,这些进程就是FastCGI进程管理器,或者FastCGI引擎。

    PHP-FPM就是支持PHP的FastCGI引擎。PHP-FPM是一个第三方的FastCGI进程管理器,作为PHP的一个补丁进行开发的,因此在安装的时候需要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中。

    FastCGI 的主要优点是把动态语言和 HTTP Server 分离开来,所以 Nginx 与PHP/PHP-FPM 经常被部署在不同的服务器上,以分担前端 Nginx 服务器的压力,使 Nginx专一处理静态请求和转发动态请求,而 PHP/PHP-FPM 服务器专一解析 PHP 动态请求。

    以上就是nginx支持php吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nginx
    上一篇:php判断是否有登录 下一篇:ci和thinkphp5哪个好
    PHP编程就业班

    相关文章推荐

    • nginx怎么打开• nginx可以集群吗• linux如何安装nginx• nginx处理php请求流程是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网