Ubuntu+Nginx+PHP之配置

一、FastCGI入门

1、理解Web服务的机制


   客户端试图访问动态页面时,Web服务器收到请求,接着转发给第三方的应用程序,应用程序独立处理完该脚本,然后再将结果返回给产生相应的Web服务器,最后转发响应至客户端。

2、CGI通用网管接口

CGI是一个协议,描述了Web服务器(Nginx、Apache)和应用程序网关(php,python等)之间的信息交换。实践中,Web服务器收到一个请求就调用程序如/usr/bin/php启动一个进程,并将参数传递应用程序,接着,应用程序讲出黎的结果写入标准的输出设备,最后,Web服务器捕获这些输出。

3、FastCGI

FastCGI使用了能处理多个请求的持续进程,而不是针对每个请求产生一个进程,使用TCP套接字或者IPC套接字进行Web服务器和程序网管之间的通信,并且使用单个连接来接收相应响应。效率大大提高。

二、PHP-FPM

php-fpm(PHP FastCGI Process Manager)自动地进程化PHP,提供一个用于管理PHP进程的命令行脚本:php-fpm start, php-fpm-stop, php-fpm reload等等,并且提供了改良的日志记录,IP地址约束等。。


Ubuntu14.04上测试通过的具体设置如下:

先安装:

# sudo apt-get install nginx php5-fpm

然后编辑配置文件,取消注释其中的4行。

# sudo vim /etc/nginx/site-available/default

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
        #       fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
                # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        #       fastcgi_index index.php;
                include fastcgi_params;
        }

启动nginx:

# sudo /etc/init.d/nginx restart

在nginx的Web文件目录下放入php测试文件,访问即可。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值