PHP+FastCGI+Nginx配置PHP运行环境
CGI的英文全称为Common Gateway Interface(公共网关接口),是Nginx和动态脚本程序的桥梁,Nginx通过FastCGI接口将动态请求发送给FastCGI,FastCGI中的Wrapper进程生成一个线程,将请求交给脚本解释程序执行,然后通过原来的socket将解释执行后的结果原路返回给Nginx,之后Nginx将结果交给客户端。
Nginx是通过套接字文件socket来将动态请求发送给wrapper,使用的是Tcp协议。wrapper通过CGI接口来接受请求。这样web服务器和解释程序之间完全可以独立开发,这样避免了解释程序直接调用服务器的接口而导致的出错和崩溃以及安全性问题。而且可以使Nginx专心处理静态页面请求和转发动态请求,而将脚本解释器安装在另一台服务器,使服务器的压力得到分摊。
CGI是作为PHP程序的补丁开发的,安装PHP首先安装其所依赖的库,之后在编译配置参数时加入对CGI的支持--enable-fpm --enable-cgi等选项。编译PHP的扩展模块,需要用到php中的phpize工具用来生成模块编译时的configure文件,如果运行phpize时无法生成configure文件,原因有:没有安装autoconf软件包。
php-fpm进程的配置文件为/usr/local/php/etc/php-fpm.conf 可以对php-fpm进行相应的配置。
Nginx配置支持fastcgi:
location ~ \.php${
root html;
fastcgi_pass unix:/tmp/fastcgi.soke //通过套接字文件和cgi建立联系,该文件在php-fpm.conf中设置
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME html$SCRIPT_FILE_NAME;设置参数
include fastcgi_params; //导入fastcgi参数配置文件,该文件在nginx安装时自动生成。
}
- Nginx中FastCGI如何配置优化
- PHP(FastCGI)在Nginx的alias下出现404错误的解决方法
- 在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
- Perl使用nginx FastCGI环境做WEB开发实例
- nginx FastCGI错误Primary script unknown解决办法
- Gentoo 下安装与配置Nginx+ MySQL + PHP (fastcgi) 环境步骤分享
- CentOS 6.1 环境中部署nginx、php(包括fastcgi)、虚拟主机配置
- Nginx(PHP/fastcgi)的PATH_INFO问题
- Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版
- Nginx0.5.33+PHP5.2.5(FastCGI)搭建胜过Apache10倍的Web服务器
- Nginx FastCGI缓存的实现示例
相关文章
PHP使用opendir和readdir函数读取指定目录下所有文件
这篇文章主要介绍了PHP使用opendir和readdir函数读取指定目录下所有文件实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-08-08
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
这篇文章给大家介绍的是在Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法,相信"建立数据库连接错误"大家并不陌生,最近我在做一个项目的时候就又遇到了这个问题,现在将我解决的步骤分享给大家,希望对同样遇到这个问题的朋友们能有所帮助。2016-11-11


最新评论