Linux入门之web服务(五)—-LAMP编译安装详解,过把瘾

前面几篇中分别简单介绍了web服务的基本原理、基本配置、简单编译安装以及LAMP的基本概念工作模型。

本篇博文将尝试在四台主机上分别编译安装httpd(2台)、php、mysql,实现一套LAMP框架下工作的web服务。httpd与php服务器通过fastcgi实现互联;php与mysql通过msqlnd实现互联;httpd服务器间使用nfs共享数据,nfs部署在php服务器上(刚好也能实现动态页面解析)。

基本内容如下:

httpd的编译安装

mysql的安装

php的编译安装

nfs配置

联机配置调试

一、全局规划

如图所示,共有四台主机,两台httpd主机,一台php主机(nfs共享磁盘也在此服务器上)、mysql数据库服务器。实验环境,centos6.5,x86_64。编译安装环境均安装好“Developmnet Tools和“Server PlatForm Development”包组。有特殊环境有求的,具体章节会给出。怎样安装这些包组不再详细讲解。(注:所有使用yum源安装的支持包组,均使用epel源进行安装,朋友们可以自行修改yum配置文件,连接epel的yum源进行安装)

httpd服务器2台,准备安装包apr-1.5.0.tar.bz2,apr-util-1.5.3.tar.bz2,httpd-2.4.9.tar.bz2主要负责静态页面显示,动态页面请求转发

php服务器1台,准备安装包php-5.4.26.tar.bz2,主要负责php页面解析,同时部署nfs共享磁盘,放置动态页面和静态页面,供httpd服务器使用。

mysql1台,通过安装包mysql-5.5.33-linux2.6-x86_64.tar.gz。此处要注意安装包的平台匹配负责提供数据库服务

这里要密切注意的是服务器配置安装的顺序问题,如果是在同一台机器上安装所有的服务,那么就必须把php放到最后,这里,我们分别置于不同的主机上,因此没有太多的顺序要求,但是,由于测试等需求,建议先安装httpd、mysql然后再安装php。

二、httpd的编译安装

这个系列已经讲过httpd的编译安装了,这里为了博文的连贯性,仍然给出安装配置过程。

1、 准备好编译安装环境,安装pcre-devel包,这个是依赖包,可以直接使用epel的yum源进行安装。

# yum -y install pcre-devel

2、安装apr包

#解压包[root@station145 ~]# tar xf apr-1.5.0.tar.bz2切换到包目录[root@station145 ~]# cd apr-1.5.0配置环境,指定安装路径[root@station145 apr-1.5.0]# ./configure –prefix=/usr/local/apr#编译安装[root@station145 apr-1.5.0]# make && make install

3、安装apr-util包

#解压包[root@station145 ~]# tar xf apr-util-1.5.3.tar.bz2#切换工作目录[root@station145 ~]# cd apr-util-1.5.3#配置环境,指定安装目录,指定apr目录[root@station145 apr-util-1.5.3]# ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/#编译安装[root@station145 apr-util-1.5.3]# make && make install

4、解压安装httpd2.4

#解压包[root@station145 ~]# tar xf httpd-2.4.9.tar.bz2#切换工作目录[root@station145 ~]# cd httpd-2.4.9#配置工作环境,设置各种配置,生成makefile文件[root@station145 httpd-2.4.9]# ./configure –prefix=/usr/local/apache –sysconfdir=/etc/httpd24 –enable-so –enable-ssl –enable-cgi –enable-rewrite –with-zlib –with-pcre –with-apr=/usr/local/apr –with-apr-util=/usr/local/apr-util/ –enable-modules=most –enable-mpms-shared=all –with-mpm=event#编译安装[root@station145 httpd-2.4.9]# make && make install

这里要重点解释下配置环境中的各参数的意义

–prefix=/usr/local/apache指定程序安装路径

–sysconfdir=/etc/httpd24指定配置文件路径

-enable-so使用动态共享库

–enable-ssl使用ssl功能

–enable-cgi使用cgi功能

–enable-rewrite使用url重写功能

–with-zlib 使用zlib压缩库

–with-pcre

–with-apr=/usr/local/apr指定apr安装路径

–with-apr-util=/usr/local/apr-util/指定apr-util安装路径

–enable-modules=most启动使用大部分的模块,也可以使用all值

–enable-mpms-shared=all启动mpm功能

–with-mpm=event指定默认启动的mpm模型

5、提供服务脚本

我们可以每次开机后都手动去启动httpd服务,这个很明显不符合我们的正常需求,因此我们需要给httpd2.4提供服务脚本(服务脚本是什么等概念这里不再具体讲解),并且加到系统自动启动服务中。

我们可以自己手工编写脚本,也可以使用httpd2.2(centos系统自自带的httpd服务)的服务脚本,稍加修改,就可以为httd24服务了。

这里我借用了httd2.2的服务脚本,进行简单修改。为了区别原有的服务脚本httpd,这里复制httpd为httpd24 注意:服务脚本存放在/etc/init.d目录下,必须要可执行权限

#复制旧的脚本,新的脚本为httpd24[root@station145 ~]# cp /etc/init.d/httpd /etc/init.d/httpd24[root@station145 ~]# vim /etc/init.d/httpd24

修改其中的部分内容,主要是相关路径

#httpd24的安装路径为/usr/local/apache,且没有sbin,只有bin因此修改下面的路径为当前路径apachectl=/usr/local/apache/bin/apachectlhttpd=${HTTPD-/usr/local/apache/bin/httpd}prog=httpd#设定pid文件路径pidfile=${PIDFILE-/var/run/httpd24.pid}#设定所文件路径lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

添加在系统服务

#添加至系统服务[root@station145 ~]# chkconfig –add httpd24#查看是否添加成功[root@station145 ~]# chkconfig –list httpd24httpd240:off 1:off 2:off 3:off 4:off 5:off 6:off#开机自动启动[root@station145 ~]# chkconfig httpd24 on

6、修改配置文件

主要是添加一条PidFile的文件路径。这里系统读取PidFile的顺序是配置文件、服务脚本,如果配置文件没有,再去找服务脚本。

#修改配置文件[root@station145 ~]# vim /etc/httpd24/httpd.conf#添加一行PidFile “/var/run/httpd24.pid”

7、导出二进制命令

需要将httpd24的命令导入到PATH环境变量中,否则每次都需要写完整路径。在/etc/profile.d下创建新的配置文件httpd24.sh

不然你大概会一直好奇和不甘吧——

Linux入门之web服务(五)—-LAMP编译安装详解,过把瘾

相关文章:

你感兴趣的文章:

标签云: