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安装时自动生成。

                   }
(0)

相关推荐

  • CentOS下与Apache连接的PHP多版本共存方案实现详解

    在apache下整合fastCGI模式运行的php-fpm,似乎网上很少相关材料,就连英文版材料也少.只要是php-fpm,基本上都是与nginx搭配.查了一大批相关资料,写本文总结一下. apache下有多个fastCGI的支持方案:至少有mod_fcgi.mod_fastcgi(git).mod_proxy_fcgi等.这两个模块都有点老,尤其mod_fastcgi自从2007年以来就没有更新,略掉不谈,事实上没用过用.mod_proxy_fcgi模块是httpd 2.4+的版本正式引入,通

  • PHP 5.3和PHP 5.4出现FastCGI Error解决方法

    不少童鞋在配置完PHP 5.3或者PHP 5.4网站源码后打开出错,提示 复制代码 代码如下: FastCGI Error The FastCGI Handler was unable to process the request. Error Details: Error Number: 14001 (0x800736b1). Error Description: ÓÉÓÚÓ¦ÓóÌÐòÅäÖò»ÕýÈ·£¬Ó¦ÓóÌÐòδÄÜÆô¶¯¡£ÖØа²×°Ó¦ÓóÌÐò¿ÉÄÜ»á¾

  • windows下apache+php+mysql 环境配置方法

    一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t.msi openssl表示带有openssl模块,利用openssl可给Apache配置SSL安全链接 2 下载php http://windows.php.net/downloads/releases/archives/ php-5.3.5-Win32-VC6-x86.zip 下载vc6版本 VC

  • PHP+FastCGI+Nginx配置PHP运行环境

    CGI的英文全称为Common Gateway Interface(公共网关接口),是Nginx和动态脚本程序的桥梁,Nginx通过FastCGI接口将动态请求发送给FastCGI,FastCGI中的Wrapper进程生成一个线程,将请求交给脚本解释程序执行,然后通过原来的socket将解释执行后的结果原路返回给Nginx,之后Nginx将结果交给客户端. Nginx是通过套接字文件socket来将动态请求发送给wrapper,使用的是Tcp协议.wrapper通过CGI接口来接受请求.这样we

  • Intellij IDEA 2018配置Java运行环境的方法步骤

    个人觉得eclipse提示较少,所以今天就写了这篇文章.使用Intellij IDEA 2018实现Hello,World的时候我遇到了一些问题,解决了,所以希望能够帮到大家. 配置运行环境 前提是您一定是安装了JDK的!JDK配置的方法步骤:https://www.jb51.net/article/137386.htm 新建模块 把安装好的JDK加载进来. 输入名称后,选择你要保存的文件路径. 完成之后点击菜单上的File. 配置SDK,选择安装的JDK路径. 在com.demo的模块下的sr

  • VSCode配置C#运行环境的完整步骤

    前言 最近在学c#,运行环境一般都是在vs中,但是想单纯的写一些短的测试代码还是习惯使用vscode,记录一下配置过程. VSCode配置C#运行环境 1. 下载 dotnet-sdk 下载地址:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install 懒得去官网下载可以直接拿我下载好的,放在了百度网盘,需要可自行下载 链接: https://pan.baidu.com/s/144WwujY2PIwy3esYx7

  • Windows 8 IIS中配置PHP运行环境的方法

    在Windows 8 的IIS(8.0)中搭建PHP运行环境: 一:安装IIS服务器 1.进入控制面板>>程序和功能>>打开或关闭Windows 功能,找到Internet信息服务,记得选中CGI这一项 2.安装完成后在浏览器中打开localhost,查看是否能显示IIS的欢迎页面: 二:下载安装配置PHP环境 1.下载PHP,官网地址:http://windows.php.net/download/, 2.将下载的zip压缩包解压到D盘下,解压后为E:\php; 3.进入控制面板

  • 详解docker镜像centos7配置Java运行环境

    1.拉取centos镜像 docker pull centos:7 2.基于拉取到的镜像运行一个容器 docker run -it --name mycentos docker.io/centos:7 /bin/bash 运行起来就直接进入了容器的交互界面 3.容器中安装jdk 首先查询可用的jdk版本 yum search java|grep jdk 根据搜索到jdk进行安装 yum install java-1.7.0-openjdk 安装完成之后可以不用配置环境变量,因为安装完成之后貌似是

  • 服务器上配置PHP运行环境教程

    1.在DOS命令窗口输入 mysql -hlocalhost -uroot -p回车 进入mysql数据库, 其中-h表示服务器名,localhost表示本地:-u为数据库用户名,root是mysql默认用户名:-p为密码,如果设置了密码,可直接在-p后链接输入,  如:-p123456,用户没有设置密码,显示Enter password时,直接回车即可.  注意,如果你的mysql没有安装在C盘下,你需要先使用DOS命令进入mysql的安装目录下的bin目录中. 以我的电脑为例,方法如下:  

  • IIS7.X配置PHP运行环境小结

    一.使用IIS运行PHP程序 1.首先下载PHP,这里我下载的是php5.2.14(如果是其他高版本的话可能找不到php5isapi.dll,其相关配置方法暂且不论),建议下载zip压缩包,不需安装就可以了,并且下载时请注意用选择VC9的包而不是VC6(这个是apache用的).例如我解压到d:\ php-5.2.14-Win32. 2.找到php.ini-dist 修改为php.ini ,然后打开文件: 找到register_globals = Off 修改为register_globals

  • 在IIS 7中配置PHP运行环境简单步骤[图文教程]

    安装 IIS 7.0 打开 Control Panel\Programs\Programs and Features\Turn Windows features on or off, 在打开的对话框中勾选上这两个选项: 单击OK等待片刻, IIS就安装完成了. 安装 PHP 5.2.6 1. 下载: PHP 5.2.6 ;  其它版本的 PHP 下载. 2. 将压缩包解压, 放到一个目录中, 比如 D:\php 3. 将 php.ini-dist 复制到 C:\Windows 目录下并改名为 p

  • windows+apache+mod_python配置django运行环境

    1.创建mysite测试站点:django-admin.py startproject mysite 2.创建测试页:hello.py,内容如下: from django.http import HttpResponse def index(request): return HttpResponse('Hello, Django!') 3.创建mod_py_dj.conf配置文件,内容如下: LoadModule python_module modules/mod_python_so.pyd L

  • 阿里云Windows 2008一键安装包配置php web环境图文安装教程(IIS+Php+Mysql)

    集成包下载地址: 1.阿里云Windows Server 2008 一键安装Web环境包 x64 2.阿里云Windows Server 2008 一键安装Web环境包 32 集成包版本介绍: IIS7组件.FTP7.php 5.5.7.mysql 5.6.15.phpMyAdmin 4.1.8.phpwind 9.0.ISAPI_Rewrite 安装包: 32位和64位 安装包启动 点击"下一步"后,指定安装目录,默认使用C:\websoft,然后点击"安装".

随机推荐