码迷,mamicode.com
首页 > 其他好文 > 详细

通过fcgi实现lamp

时间:2015-05-08 00:12:57      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:基于fpm组件的三台服务器lamp实现

简单罗列基础命令,只分享我的想法!

要求:三台单独的服务器通过fcgi,实现lamp

环境:httpd-2.4.10apr-1.5.0apr-until-1.4.1PHP-5.4.40mariaDB-5.5.43CentOS 6.6

环境示意图(同一个网卡设置多个地址即可,ip addr add IP dev eth0):

技术分享

1

一、编译httpd-2.4.10和二进制通用格式安装mariaDB-5.5.43的方法同上一篇博客的内容相同,不在重复,只不过是在两台服务器上面单独安装。

二、编译PHP-5.4.40

1)安装依赖包(devel子包主要是包含一些include文件)

yum install libxml2-devel libmcrypt-devel bzip2-devel –y

2)编译

./configure--prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd--with-mysqli=mysqlnd --enable-fpm --enable-mbstring --with-freetype-dir--with-jpeg-dir --with-zlib --with-libxml-dir=/usr --enable-xml--enable-sockets --with-mcrypt --with-bz2 --with-config-file-path=/etc/php/--with-config-file-scan-dir=/etc/php.d/

(./configure --help中对与—with-mysql=dir中是这样描述的Include MySQL support.  DIR is the MySQL base directory,if no DIR is passed or the value is                          mysqlnd the MySQLnative driver will be used,大致的意思应该是—with-mysql应该是提供读mysql的支持,dir就是mysql的目录,但是如果没有,mysqlnd也是可以提供驱动的)

make && make install

3) 配置php-fpm

php-fpm提供SysV init脚本,并将其添加至服务列表

进入源码包

cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm  //php-fpm这个文件里面记录pid存放目录
chmod +x/etc/rc.d/init.d/php-fpm
chkconfig --addphp-fpm
chkconfigphp-fpm on

4)为FPM组件提供配置文件

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

编辑fcgi的配置文件

vim /usr/local/php/etc/php-fpm.conf

配置fpm的相关选项

pid =/user/local/php/var/run/php-fpm.pid
error_log =/var/log/php-fpm.log
listen =172.16.149.3:9000
pm.max_children= 5
pm.start_servers= 2
pm.min_spare_servers= 1
pm.max_spare_servers= 3

启动php-fpm,看9000端口是否启动

/etc/init.d/php-fpm start

三、配置httpd-2.4.10

1)配置主配置文件(配置的是中心主机)

vim /etc/httpd1/httpd.conf

添加以下四行

ProxyRequestsOff //关闭正向代理
ProxyPassMatch^/(.*\.php)$ fcgi://172.16.149.3:9000/usr/local/apache/htdocs/$1 //把所有.php的请求统统通过fcgi发送到172.16.149.3这个php服务器来运行
AddTypeapplication/x-httpd-php  .php  //让apache支持php的页面
AddTypeapplication/x-httpd-php-source  .phps

修改三行

DirectoryIndex  index.php index.html

mod_proxy_fcgi.somod_proxy.so的扩充,所以都需要加载

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

2)配置主配置文件(配置的是虚拟机)

添加以下两行

AddTypeapplication/x-httpd-php  .php  //让apache支持php的页面
AddTypeapplication/x-httpd-php-source  .phps

修改三行

DirectoryIndex  index.php index.html
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
Include/etc/httpd1/extra/httpd-vhosts.conf

编辑虚拟机的配置文件

vim /etc/httpd1/extra/httpd-vhosts.conf

增加以下两行

AddTypeapplication/x-httpd-php  .php  //让apache支持php的页面
AddTypeapplication/x-httpd-php-source  .phps

四、测试(配置中心主机)

确保php服务器的php-fpmapache服务器的httpd服务开启,且两台服务器能够互相访问。

php服务器上面创建php文件

mkdir -vp /usr/local/apache/htdocs
vim /usr/local/apache/htdocs/index.php
<?php
 phpinfo();
?>

通过浏览器进行查看,如图2

技术分享

2

php服务器运行状态,如图3

技术分享

3

httpd服务器运行状态,如图

技术分享

4

五、检验数据库的连接

1)mysql配置说明

CREATE USER ‘wlw‘@‘172.16.%.%‘ IDENTIFIED BY ‘wlw1‘;

2)编辑index.php

<?php
      $link =mysql_connect(‘172.16.249.36‘,‘wlw‘,‘wlw1‘);
         if ($link)
            echo "Success...";
         else
            echo "Failure...";
 
                                                                                                                                                  mysql_close();
?>

3)测试截图



                                        图5


本文出自 “只写感受!” 博客,请务必保留此出处http://damihua.blog.51cto.com/6537272/1643994

通过fcgi实现lamp

标签:基于fpm组件的三台服务器lamp实现

原文地址:http://damihua.blog.51cto.com/6537272/1643994

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!