1、前言
公司开发要求使用php5.6版本,由于笔者不想通过编译安装,故引入remi的yum源来完成此项任务,跟之前的lamp环境加载fastcgi的方式大致一样,只是有一点点差异。
原文:http://cmdschool.blog.51cto.com/2420395/1708237
2、实验部分
2.1、实验环境
lampSer:
hostname=lamp-fcgi
ipaddress=10.168.0.177
client:
hostnmae=client
ipaddress=10.168.0.8
2.2、yum源的安装
1
2
3
<code>yum -y </code><code>install</code> <code>http:</code><code>//rpms</code><code>.famillecollet.com</code><code>/enterprise/remi-release-6</code><code>.rpm</code>
<code>yum -y </code><code>install</code> <code>httpd mod_proxy_fcgi php56-php-fpm mysql mysql-server php-mysql</code>
<code>yum -y </code><code>install</code> <code>policycoreutils-python</code>
2.3、配置部分
2.3.1、step1
注:如果你不想了解fastcgi的加载方式本步骤请直接跳过
检查是否引入fastcgi模块(默认开启),主配置文件:
<code>grep</code> <code>^Include </code><code>/etc/httpd/conf/httpd</code><code>.conf</code>
包含如下内容:
<code>Include conf.d/*.conf</code>
查看fastcgi支持模块配置文件:
<code>grep</code> <code>LoadModule </code><code>/etc/httpd/conf</code><code>.d</code><code>/mod_proxy_fcgi</code><code>.conf</code>
<code>LoadModule proxy_fcgi_module modules</code><code>/mod_proxy_fcgi</code><code>.so</code>
2.3.2、step2
1)启动php-fpm、httpd&mysqld服务:
4
5
6
<code>/etc/init</code><code>.d</code><code>/php56-php-fpm</code> <code>start</code>
<code>chkconfig php56-php-fpm on</code>
<code>/etc/init</code><code>.d</code><code>/httpd</code> <code>start</code>
<code>chkconfig httpd on</code>
<code>/etc/init</code><code>.d</code><code>/mysqld</code> <code>start</code>
<code>chkconfig mysqld on</code>
注:关于mysql的安全设置请运行以下指令,这里不再详述!
<code>mysql_secure_installation</code>
2)确认php-fpm服务启用
<code>netstat</code> <code>-anp | </code><code>grep</code> <code>php</code>
应当显示如下:
<code>tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2547</code><code>/php-fpm</code>
<code>unix 3 [ ] STREAM CONNECTED 34665 2547</code><code>/php-fpm</code>
<code>unix 3 [ ] STREAM CONNECTED 34664 2547</code><code>/php-fpm</code>
2.3.3、step3
1)vim编辑/etc/httpd/conf/httpd.conf
启用并更改ServerName(去掉ServerName前面的#)
启用NameVirtaulHost(去掉ServerName前面的#)
<code>ServerName www.cmdschool.org:80</code>
<code>NameVirtualHost *:80</code>
2)新建虚拟目录:
<code>mkdir</code> <code>/var/www/www</code><code>.cmdschool.org</code>
3)添加测试页面:
<code>echo</code> <code>'<?php phpinfo(); ?>'</code> <code>> </code><code>/var/www/www</code><code>.cmdschool.org</code><code>/index</code><code>.php</code>
4)确保selinux是Enforcing状态:
<code>getenforce</code>
5)恢复预设的selinux type:
<code>restorecon -RFvv </code><code>/var/www/www</code><code>.cmdschool.org/</code>
显示如下:
<code>restorecon reset </code><code>/var/www/www</code><code>.cmdschool.org context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:httpd_sys_content_t:s0</code>
<code>restorecon reset </code><code>/var/www/www</code><code>.cmdschool.org</code><code>/index</code><code>.php context unconfined_u:object_r:httpd_sys_content_t:s0->system_u:object_r:httpd_sys_content_t:s0</code>
6)检查当前的selinux type:
<code>ll -dZ </code><code>/var/www/www</code><code>.cmdschool.org/</code>
7)开启虚拟目录对fastcgi的支持并设置虚拟目录:
vim编辑/etc/httpd/conf.d/www.cmdschool.org.conf
7
8
9
10
11
<code>DirectoryIndex </code><code>/index</code><code>.php index.php</code>
<code><VirtualHost *:80></code>
<code> </code><code>ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi:</code><code>//127</code><code>.0.0.1:9000</code><code>/var/www/www</code><code>.cmdschool.org/$1</code>
<code> </code><code>DocumentRoot </code><code>/var/www/www</code><code>.cmdschool.org</code>
<code> </code><code>ServerName www.cmdschool.org</code>
<code><</code><code>/VirtualHost</code><code>></code>
<code><Directory </code><code>/var/www/www</code><code>.cmdschool.org></code>
<code> </code><code>Options All</code>
<code> </code><code>AllowOverride all</code>
<code><</code><code>/Directory</code><code>></code>
8)重启php-fpm&httpd服务:
<code>/etc/init</code><code>.d</code><code>/php56-php-fpm</code> <code>restart</code>
<code>/etc/init</code><code>.d</code><code>/httpd</code> <code>restart</code>
2.3.4、step4
设置防火墙:
vim编辑/etc/sysconfig/iptables
<code>-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT</code>
重启防火墙:
<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>restart</code>
2.4.5、step5
In client
测试服务器
1)vim编辑/etc/hosts
确保包含www.cmdschool.org的指向10.168.0.171的唯一值:
<code>10.168.0.171 www.cmdschool.org</code>
2)curl测试
<code>curl www.cmdschool.org</code>
3)浏览器测试
<a href="http://s5.51cto.com/wyfs02/M02/75/C7/wKiom1ZCcRPD6MSMAADMeEQtvNQ802.png" target="_blank"></a>
本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1711515,如需转载请自行联系原作者