天天看点

完全yum安装LAMP环境并加载fastcgi模块(首发)

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源的安装

1

2

3

<code>yum -y </code><code>install</code> <code>https:</code><code>//dl</code><code>.fedoraproject.org</code><code>/pub/epel/epel-release-latest-6</code><code>.noarch.rpm</code>

<code>yum -y </code><code>install</code> <code>httpd mod_proxy_fcgi 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&amp;mysqld服务:

4

5

6

<code>/etc/init</code><code>.d</code><code>/php-fpm</code> <code>start</code>

<code>chkconfig 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>'&lt;?php phpinfo(); ?&gt;'</code> <code>&gt; </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</code><code>/index</code><code>.php context unconfined_u:object_r:httpd_sys_content_t:s0-&gt;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>&lt;VirtualHost *:80&gt;</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>&lt;</code><code>/VirtualHost</code><code>&gt;</code>

<code>&lt;Directory </code><code>/var/www/www</code><code>.cmdschool.org&gt;</code>

<code>    </code><code>Options All</code>

<code>    </code><code>AllowOverride all</code>

<code>&lt;</code><code>/Directory</code><code>&gt;</code>

8)重启php-fpm&amp;httpd服务:

<code>/etc/init</code><code>.d</code><code>/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://s3.51cto.com/wyfs02/M02/75/4D/wKiom1Y1Q8rzTVEVAASArOO087I487.jpg" target="_blank"></a>

本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1708237,如需转载请自行联系原作者