fastcgi解决了CGI的诸多缺点,可以使动态页面读取速度更加快捷,至于他的诸多优点大家可以在网上找找,这里我也就不细说了,今天我用2台机器来实现nginx+fastcgi的实验,具体环境请看下面的介绍:
实验环境:
我这里都使用centos操作系统,nginx服务器的IP地址我这里设置为:10.10.1.65,fastcgi服务器的IP
地址我这里设置为10.10.1.58.
需要安装的包如下:
php-5.2.11.tar.gz
php-5.2.11-fpm-0.5.13.diff.gz (此包是php-fastcgi的管理包)
pcre-8.00.tar.gz
nginx-0.6.36.tar.gz
1.在nginx服务器上的安装
#tar zxvf nginx-0.6.36.tar.gz
#cd nginx-0.6.36
#./configure --prefix=/usr/local/nginx --with-http_stub_status_module
#make
#make install
#cd nginx-0.6.36
#./configure --prefix=/usr/local/nginx --with-http_stub_status_module
#make
#make install
#cd /usr/local/nginx/sbin
#./nginx
这个时候通过浏览器可以看到nginx服务器的主页面.
2.在fastcgi服务器上的安装
#tar zxvf php-5.2.11.tar.gz
#gzip -cd php-5.2.11-fpm-0.5.13.diff.gz | patch -d php-5.2.11 -p1
#cd php-5.2.11
#./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm
#make
#make install
#cp php.ini-dist /usr/local/php/lib/php.ini
#gzip -cd php-5.2.11-fpm-0.5.13.diff.gz | patch -d php-5.2.11 -p1
#cd php-5.2.11
#./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm
#make
#make install
#cp php.ini-dist /usr/local/php/lib/php.ini
上面configure的时候没有加其他的选项,我这里只是为了验证fastcgi,因此其他的选项我这里没有选择,
当然了现在肯定是打不开php页面的,因为我们还有相关的配置没有做呢.
3.配置fastcgi服务器
#cd /usr/local/php/etc
#vi php-fpm.conf //打开fastcgi的管理配置文件
#vi php-fpm.conf //打开fastcgi的管理配置文件
找到如下的内容:
<value name="listen_address">127.0.0.1:9000</value>
这里是fastcgi的监听主机IP以及端口号,这里我们要修改成如下:
<value name="listen_address">10.10.1.58:9000</value>
继续找到如下内容:
<!-- <value name="user">nobody</value> -->
Unix group of processes
<!-- <value name="group">nobody</value> -->
<!-- <value name="group">nobody</value> -->
这里是fastcgi启动用户以及组,我们把前面的注释和后面的注释去掉,修改成如下:
Unix user of processes
<value name="user">nobody</value>
<value name="user">nobody</value>
Unix group of processes
<value name="group">nobody</value>
<value name="group">nobody</value>
继续找到如下内容:
<value name="allowed_clients">127.0.0.1</value>
这里是fastcgi的允许连接的IP地址,修改成如下:
<value name="allowed_clients">10.10.1.65,127.0.0.1</value>
然后进行保存.
#cd ../sbin
#./php-fpm start //启动fastcgi管理程序
这样fastcgi服务器的配置已经完全,下面配置nginx服务器.
4.配置nginx服务器
#cd /usr/local/nginx/conf
#vi ngin.conf //打开nginx的配置文件
找到如下的内容:
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
# }
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
# }
这里修改如下:
location ~ \.php$ {
root html;
fastcgi_pass 10.10.1.58:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt$fastcgi_script_name;
include fastcgi_params;
}
root html;
fastcgi_pass 10.10.1.58:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt$fastcgi_script_name;
include fastcgi_params;
}
OK了,保存下文件.
现在来到fastcgi服务器,在/opt目录下面创建一个test.php文件,内容如下:
<?php
phpinfo();
?>
phpinfo();
?>
好了现在一切环境都搭建完成了,我们现在在浏览器输入
http://10.10.1.65/test.php
可以看到test.php文件解析了,说明我们的fastcgi程序没有问题,至于更多关于fastcgi的东西,大家
可以在网上搜搜.
转载于:https://blog.51cto.com/wiliiwin/258627