首页 >后端开发 >PHP问题 > 正文

nginx支持php吗

原创2019-10-12 11:00:1902119
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中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:nginx
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • 燕十八Nginx视频教程燕十八Nginx视频教程
  • 燕十八nginx精品视频教程燕十八nginx精品视频教程
  • Nginx基础入门视频教程Nginx基础入门视频教程
  • 视频教程分类