1、前言
fastcgi的性能相信不用我多说各位都知道,这是我研究apache加载fastcgi模块的动力。
经过一天的奋战,终于成功地实现完全yum安装环境下fastcgi模块加载并配置成功。说实话笔者比较喜欢yum的简单易用,同时创作本文时在baidu上参阅了很多技术文档,暂时没有发现非编译安装的资料,故而本文算是首发吧!
另外在这里我要谢谢一些前辈的无私贡献,创作出已经完全接近的技术文档(仅fastcgi部分编译安装),同时也让我更加坚信看官网会少走弯路。所以说,做技术的英文要不断地修炼。
2、实验部分
2.1、实验环境
lampSer:
hostname=lamp-fcgi
ipaddress=10.168.0.171
client:
hostnmae=client
ipaddress=10.168.0.8
2.2、yum源的安装
2.3、配置部分
2.3.1、step1
注:如果你不想了解fastcgi的加载方式本步骤请直接跳过
检查是否引入fastcgi模块(默认开启),主配置文件:
1
| grep ^Include /etc/httpd/conf/httpd.conf
|
包含如下内容:
查看fastcgi支持模块配置文件:
1
| grep LoadModule /etc/httpd/conf.d/mod_proxy_fcgi.conf
|
包含如下内容:
1
| LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
|
2.3.2、step2
1)启动php-fpm、httpd&mysqld服务:
1
2
3
4
5
6
| /etc/init.d/php-fpm start
chkconfig php-fpm on
/etc/init.d/httpd start
chkconfig httpd on
/etc/init.d/mysqld start
chkconfig mysqld on
|
注:关于mysql的安全设置请运行“”指令,这里不再详述!
1
| mysql_secure_installation
|
2)确认php-fpm服务启用
1
| netstat -anp | grep php
|
应当显示如下:
1
2
3
| tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2547/php-fpm
unix 3 [ ] STREAM CONNECTED 34665 2547/php-fpm
unix 3 [ ] STREAM CONNECTED 34664 2547/php-fpm
|
2.3.3、step3
1)vim编辑/etc/httpd/conf/httpd.conf 启用并更改ServerName(去掉ServerName前面的#)
2)新建虚拟目录:
1
| mkdir /var/www/www.cmdschool.org
|
3)添加测试页面:
1
| echo '<?php phpinfo(); ?>' > /var/www/www.cmdschool.org/index.php
|
4)确保selinux是Enforcing状态:
5)恢复预设的selinux type:
1
| restorecon -RFvv /var/www/www.cmdschool.org/
|
显示如下:
1
| restorecon reset /var/www/www.cmdschool.org/index.php context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:httpd_sys_content_t:s0
|
6)检查当前的selinux type:
1
| ll -dZ /var/www/www.cmdschool.org/
|
7)开启虚拟目录对fastcgi的支持并设置虚拟目录:
vim编辑/etc/httpd/conf.d/www.cmdschool.org.conf
1
2
3
4
5
6
7
8
9
10
11
| ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/www.cmdschool.org/$1
DirectoryIndex /index.php index.php
<VirtualHost *:80>
DocumentRoot /var/www/www.cmdschool.org
ServerName www.cmdschool.org
</VirtualHost>
<Directory /var/www/www.cmdschool.org>
Options All
AllowOverride all
</Directory>
|
8)重启php-fpm&httpd服务:
1
2
| /etc/init.d/php-fpm restart
/etc/init.d/httpd restart
|
2.3.4、step4
设置防火墙:
vim编辑/etc/sysconfig/iptables
1
| -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
|
重启防火墙:
1
| /etc/init.d/iptables restart
|
2.4.5、step5 In client 测试服务器 1)vim编辑/etc/hosts
2)curl测试
3)浏览器测试
|