nginx php-cgi php

/***************************************************************************
 *                         nginx php-cgi php
 * 说明:
 *     由于有需要多个web访问的需求,于是选择使用nginx来做端口映射,刚开始配置
 * 的时候没法先php还有fpm模式,因为交叉编译php的时候只选择cgi,所以配置的过程
 * 中遇到问题,还有就是没注意到要将php-cgi跑起来才行,之前通过busybox httpd是
 * 不需要这么做的。
 *
 *                                         2016-9-26 深圳 南山平山村 曾剑锋
 **************************************************************************/

一、参考文档:
    1. NGINX - No input file specified. - php Fast/CGI
        http://stackoverflow.com/questions/21377321/nginx-no-input-file-specified-php-fast-cgi
    2. 解决NGINX PHP "No input file specified"
        http://xiahongyuan.blog.51cto.com/906214/852424
    3. Nginx+php-cgi的配置方法介绍
        http://blog.csdn.net/bookmoth/article/details/4568203
    4. windows下配置nginx+php环境
        http://www.cnblogs.com/huayangmeng/archive/2011/06/15/2081337.html

二、修改nginx php配置:
    server {
        listen       80;
        server_name  localhost;
        root /var/www/;
        index index.html index.htm index.php;

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
            include        fastcgi_params;
        }
    } 

三、启动php-cgi:
    1. php-cgi -b 127.0.0.1:9000 -c /etc/php.ini
    2. 开机自启动:
        cat /etc/init.d/S51phpCGI
            echo "Start php-cgi."
            php-cgi -b 127.0.0.1:9000 -c /etc/php.ini &
时间: 2024-10-27 13:34:26

nginx php-cgi php的相关文章

结合Nginx以cgi方式安装php5.5.4

新建用户及用户组 groupadd webuser useradd -g webuser webuser 下载php-5.5 下载链接:http://pan.baidu.com/s/1i3CBshv 解包 tar zxvf php-5.5.4.tar.gz cd php-5.5.4 ./configure --prefix=/server/php5 \ --with-mysql=/server/mysql \ --with-mysqli \ --with-jpeg-dir=/usr/lib64

nginx设置cgi.fix_pathinfo漏洞和解决方法

最近在学习nginx的配置,有一个设置需要在php.ini中把 cgi.fix_pathinfo = 1 改成cgi.fix_pathinfo=0, 想了解下这个参数设置的具体功能,所以百度了下,发现这里有一个PHP PATH_INFO的漏洞(详见:https://bugs.php.net/bug.php?id=50852&edit=1)大致先了解下. [漏洞分析]location对请求进行选择的时候会使用URI环境变量进行选择,其中传递到后端Fastcgi的关键变量SCRIPT_FILENAM

使用fcgiwrap为nginx提供cgi支持

nginx不支持cgi程序,通过fcgi包装程序,可以使nginx间接支持cgi程序. 现在fcgiwrap已经进入了官方源,因此以前的fcgi包装方法就不用了. 安装 #apt-get install fcgiwrap 配置 /etc/nginx/fcgiwrap.conf 1 2 3 4 5 6 7 location ~ \.(cgi|pl).*$ {     gzip off;     fastcgi_pass unix:/var/run/fcgiwrap.socket;     fast

nginx调用cgi脚本

一个小范例 Python使用CGIHTTPServer调用shell作为cgi脚本 mkdir -p /data/cgi-bin vim hello.sh #!/bin/bash echo "Content-Type:text/html" echo ""  echo "hello world!" 执行python -m CGIHTTPServer 然后在浏览器中输入http://<ip>:8000/cgi-bin/hello.sh 即

Nginx + PHP CGI的fix_pathinfo安全漏洞

具体的重现过程,用php代码修改后缀名后上传,比如说http://www.xx.com/1.jpg,访问的时候用http://www.xx.com/1.jpg/xxx.php 复制代码 这段jpg代码将会被执行!!! http://docs.php.net/manual/zh/ini.core.phpcgi.fix_pathinfo “1″ PHP_INI_ALL 从 PHP 4.3.0 起可用 请注意:默认为1 解决办法:1.修改php.ini中的cgi.cgi.fix_pathinfo为0(

WEB服务器之——Nginx支持CGI

安装NGINX步骤省略. 以下操作均在su下完成 ====================================================================== 安装perl略.(yum -y install perl*) 开启perl-FCGI支持 perl -MCPAN -e 'install FCGI' perl -MCPAN -e 'install FCGI::ProcManager 配置perl-fcgi守护进程perl-fcgi.pl存放于nginx/s

Nginx FastCGI的运行原理

一.FastCGI 1.介绍 CGI全称通用网关接口 Commmon Gateway Interface 用于HTTP服务上的程序服务通信交流的一种工具,CGI程序须运行在网络服务器上. 传统CGI接口方式性能较差,由于每次HTTP服务器遇到动态程序需要重启解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发时,几乎是不可能的,因此诞生了FastCGI.另外传统的CGI接口方式安全性也很差 一个可伸缩地.高速地在HTTP服务器和动态脚本语言间通信的接口 接口在linux下是socke

Nginx和php-fpm是怎么通信的

FastCGI原理    FastCGI是一个运用于HttpServer和动态脚本语言间通信的接口,多数流行的Http Server都支持FastCGI,包括Apache.Nginx和lighttpd等.同时,FastCGI也被许多脚本语言支持,其中就有PHP.    FastCGI接口方式采用C/S结构,可以将HttP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程.当HttP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结

nginx负载均衡

nginx负载均衡 Nginx负载均衡的理解 Nginx是一个轻量级的.高性能的WebServer,他主要可以干下面两件事: 作为http服务器(和apache的效果一样) 作为反向代理服务器实现负载均衡 现在Nginx到处都可以见到,经常会看到宕机后的网页会显示nginx的字样,这也说明Nginx由于高性能.使用配置简.开源单这些特点被越来越多的用户所接受,所使用. 其中第一种作为http服务器,结合php-fpm进程,对发来的请求进行处理,nginx本身并不会解析php,他只是作为一个服务器

实战Nginx与PHP(FastCGI)的安装、配置与优化(转载)

一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在HTTP server和动态脚本语言间通信的接口.多数流行的HTTP server都支持FastCGI,包括Apache.Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP.FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务器.这在处理高并发访问时,几乎是不可用的.