Linux+Apache+Mysql/MariaDB+Perl/PHP/Python这一组合常用来搭建动态网站或者服务器的开源软件,随着开源潮流的蓬勃发展,开源的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件平台在软件方面的投资成本较低,,LAMP平台已经成为最强大的WEB网站解决方案,今天就让我们来尝试模块式LAMP与fpm式LAMP这两种方式来实现动态网站的搭建。
第一部分:模块式LAMP实现wordpress
Apache2.4.18+mysql-5.5.33+php-5.4.26的编译安装过程:
一、编译安装apache2.4.18
为了确保编译过程顺利进行,首先解决依赖关系httpd-2.4.18需要较新版本的apr、apr-util和pcre-devel软件包,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。这里apr、apr-util选择使用编译源代码的方式进行,pcre-devel由于集成到red发行版里面,所有我这里直接yum安装
第一步: 编译安装apr
第二步:编译安装apr-util
第三步:yum安装pcre-devel
第四步:编译安装httpd-2.4.18
编译安装成功之后,为了更好是使用httpd服务,需要四步配置:
第一步,修改httpd的主配置文件,设置其Pid文件的路径
编辑/etc/httpd/httpd.conf,添加如下行即可:
PidFile "/var/run/httpd.pid"
第二步,提供服务启动脚本/etc/rc.d/init.d/httpd
第三步,为此脚本赋予执行权限:
chmod +x /etc/rc.d/init.d/httpd
第四步,加入服务列表:
chkconfig –add httpd
接下来我就可以启动该服务,
Service httpd start
二、安装MySQL-5.5.33
由于MySQL数据库源码文件过于庞大,编译过程异常慢,所有这里我并不打算源码编译安装,而是直接使用编译好的,即使是已经编译好的MySQL,依然是需要我们对其系统环境进行相关设置,具体设置如下:
第一步:准备数据文件存放目录,当然数据文件可以存放着一个单独的磁盘上,或者在一个磁盘上创建逻辑卷,这里我仅仅使用根文件下创建/data/mydata/作为数据文件的存放路径
第二步:创建mysql的运行用户以及把数据文件目录的拥有者赋予mysql
第三步:安装并初始化mysql-5.5.33
第四步:为mysql提供主配置文件
并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
thread_concurrency = 2
另外还需要添加如下行指定mysql数据文件的存放位置:
datadir = /mydata/data
第五步;为mysql提供sysv服务脚本:
添加至服务列表:
chkconfig –add mysqld
chkconfig mysqld on
为了使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用,这里还需要进行如下步骤:
第六步:输出mysql的man手册至man命令的查找路径:
编辑/etc/man.config,添加如下行即可:
MANPATH /usr/local/mysql/man
而后就可以启动服务测试使用了
三、编译安装php5.4.26
第一步:解决依赖关系
请配置好yum源(系统安装源及epel源)后执行如下命令:
第二步:编译安装php-5.4.26
第三步:安装xcache
第四步:配置及测试
编辑apache配置文件httpd.conf,以apache支持php
# vim /etc/httpd/httpd.conf
添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
为php提供配置文件:
# cp php.ini-production /etc/php.ini
接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行:
zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
测试页面index.php示例如下:
1 2 3 4 5 6 7 8 9 | <?php
$link = mysql_connect( '127.0.0.1' , 'root' , '' );
if ($link)
echo "Success..." ;
else
echo "Failure..." ;
mysql_close();
?>
|
如果访问该页面里面看到Success就说明我们的php以及mysql都能正常工作了。
四、安装wordpress
修改连接数据库的名称,连接数据库的用户以及密码,访问我们定义的页面地址;
如果能出现下图页面,说明我们的配置文件已经修改成功了,

第二部分:fpm式LAMP实现wordpress
一、apache、MySQL的安装与前一部分相同;请根据其进行安装;
二、编译安装php-5.4.26
第一步:解决依赖关系
请配置好yum源(系统安装源及epel源)后执行如下命令:
第二步:编译安装php-5.4.26
第三步:为php提供配置文件:
第四步:配置php-fpm
为php-fpm提供SysV init脚本,并将其添加至服务列表:
第五步:为php-fpm提供配置文件,编辑php-fpm的配置文件
配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
1 2 3 4 5 | pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php/var/run/php-fpm .pid
|
第六步:接下来就可以启动php-fpm了
service php-fpm start
使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
ps aux | grep php-fpm
三、配置httpd-2.4.18
第一步:启用httpd的相关模块
在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
第二步:配置虚拟主机支持使用fcgi
在相应的虚拟主机中添加类似如下两行。
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1
第三步:编辑apache配置文件httpd.conf,让apache能识别php格式的页面,并支持php格式的主页
vim /etc/httpd/httpd.conf
1、添加如下二行
2、定位至DirectoryIndex index.html
修改为:
DirectoryIndex index.php index.html
四、安装wordpress
修改连接数据库的名称、连接数据库的用户以及密码,访问我们定义的页面地址;
如果能出现下图页面,说明我们的配置文件已经修改成功了。

所谓万丈高楼平地起,任何一个大的项目或者平台都是从易到难,从简单到负责,就连淘宝这么大的平台最初只是一个简单的LAMP平台发展而来,所以熟练掌握好LAMP架构也是每个运维人员必备的素质,这样才会在更大的舞台上有更好的发展。