简单罗列基础命令,只分享我的想法!
要求:三台单独的服务器通过fcgi,实现lamp。
环境:httpd-2.4.10,apr-1.5.0,apr-until-1.4.1,PHP-5.4.40,mariaDB-5.5.43和CentOS 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 �Cy
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.so是mod_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-fpm和apache服务器的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