LAMP架构的搭建

什么是LAMP架构?

L : Linux,2.6.18-308.el5(redhat5.8)
A :Apache,httpd 2.4.4
M :  mysql-5.5.28 
P : php-5.4.13

LAMP结构的l两种方式

1. 全部用rpm包进行安装
2. 全部用编译源码包的方式进行安装

因为全部rpm包进行安装,只需要配置yum源,然后用镜像文件进行安装即可,此处不再赘述,以下安装配置为第二种方式,全部用源码包,以下为安装的版本
linux2.6.18 + httpd2.4.4 + mysql-5.5.28 + php-5.4.13

下载好以上组件之后,配置步骤如下

一.Linux

1.首先配置yum源
# vim /etc/yum.repo.d/my.repo

[huwentao]
name = huwentao 
baseurl = file:///mnt/cdrom/Server
enabled = 1 
gpgcheck =  

2.挂载光盘镜像

# mkdir  /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom 

3.安装必要的组

# yum grouplist  查看是否安装了一下两个组件没有安装的用以下两个命令进行安装
# yum -y groupinstall "Development Tools"
# yum -y groupinstall " Development Libraries"

4. 关掉httpd防火墙功能,和selinux的作用

# service iptables stop 
# setenforce 0 

二.安装配置httpd

下载
apr-1.4.6.tar.bz2
apr-util-1.4.1.tar.bz2
httpd-2.4.4.tar.gz

apr 和 apr-util 是httpd的必要组件,因此先编译安装这两个组件
1. 编译安装apr-1.4.6.tar.bz2

# tar -xf apr-1.4.6.tar.bz2
# cd apr-1.4.6
# ./configure --prefix=/usr/local/apr
# make & make install 

2.  编译安装apr-util-1.4.1.tar.bz2

# tar -xf apr-util-1.4.1.tar.bz2
# cd apr-util-1.4.1 
# ./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr 
# make & make install 

3. 编译安装httpd-2.4.4.tar.gz

# yum install pcre-devel 因为依赖于此包,所以先安装pcre
# tar -xf httpd-2.4.4.tar.gz
# cd httpd-2.4.4 
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --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=most --with-mpm=event

上面的编译配置字段不在一一地赘述,感兴趣的可以在网上进行查找并了解
以上为马哥教育中所讲的关于configure的配置,但是在我配置过程中却出现以下错误

configure: error: MPM most does not support dynamic loading.

意思是不能够动态的进行加载mpm模块,首先我来解释以下什么叫做mpm

MPM(多处理模块)

Apache HTTP 服务器被设计为一个功能强大,并且灵活的 web 服务器, 可以在很多平台与环境中工作。不同平台和不同的环境往往需要不同 的特性,或可能以不同的方式实现相同的特性最有效率。Apache httpd 通过模块化的设计来适应各种环境。这种设计允许网站管理员通过在 编译时或运行时,选择哪些模块将会加载在服务器中,来选择服务器特性

Apache HTTP模块

1. prefork 模型
prefork模型是一个进程响应一个请求的模式

2. worker模型
worker模型一个线程响应一个请求的模式, 但是因为Linux系统设计原因,对于线程的工作方式并不是特别的支持,因此一般而言此模式下的工作并没有想象中的那么高效

3. event模型
event模型也是一个线程响应一个请求的模式,但是他自身会分配一些可用的进程和线程用于服务某些请求,而不用频繁的创建线程和进程。

具体不能够加载动态模块的原因不太清楚,因此我索性就把动态模块给去掉了,默认的模型设成了event

# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --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 -with-mpm=event
# make & make install 

4. 加载http命令到PATH环境变量中

# vim /etc/profile.d/httpd.sh 
export  PATH=$PATH:/usr/local/apache/bin 

5. 改变其pid文件
# vim /etc/httpd/httpd.conf
PidFile /var/run/httpd.pid 

5. 启动测试apache服务器

# apachectl start  启动apache服务器
在浏览器中测试,输入自己主机的ip地址
http://192.168.40.129 ,显示
it works 

三. mysql服务器的安装过程

mysql的安装方式

1. 源码包安装
2. 二进制包安装
3. rpm包的安装

此处选择的方式为mysql的二进制包的安装过程

1. 创建mysql用户

#  groupadd -r -g 306 mysql 
#  useradd -r -g 306 -u 306 mysql 

2. 添加一块硬盘,创建逻辑卷 

<1>创建分区

# fdisk /dev/sdb 
n 创建一个分区
p 主分区
回车默认   
+10G 
变换分区类型
8e  变换成lvm
w 保存退出

<2>创建逻辑卷
# parprobe 
# pvcreate /dev/sdb1 
# vgcreate myvg /dev/sdb1 
# lvcreate -n mydata  -L 5G  myvg 

<3> 格式化并挂载

# mk2efs -j /dev/myvg/mydata
# make -pv /mydata/data   
# vim  /etc/fstab
# mount -a   重新挂载所有文件系统

3. 初始化mysql

下载
mysql-5.5.55-linux2.6-x86_64.tar.gz

# tar -xf mysql-5.5.55-linux2.6-x86_64.tar.gz -C /usr/local/
# cd mysql-5.5.55-linux2.6-x86_64 
# ln -sv /usr/local/mysql-5.5.55-linux2.6-x86_64.tar.gz  /usr/local/mysql
# chown -R mysql:mysql /usr/loca/mysql/*
# ./scripts/mysql_install_db  --datadir=/mydata/data/ --user=mysql
# chown -R root /usr/local/mysql/*
# chown -R mysql:mysql /mydata/data 

4. 安装完成之后一些库文件,头文件,man文档的处理

<1>设置开机自动启动

# cp /usr/lcoal/mysql/support-files/mysql.server  /etc/init.d/mysqld
# chkconfig --add mysqld 
# chkconfig mysqld on

<2>头文件创建链接

# ln -sv /usr/local/mysql/include /usr/include/mysql 

<3> 库文件的加载

# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib 
# ldconfig -v  重新加载库文件

<4> man文档的路径加载

# vim /etc/man.conf
MANPATH /usr/local/mysql/man 


<5> 配置文件复制

# cp /usr/local/mysql/support-files/my-large.cnf  /etc/my.cnf
# vim /etc/my.cnf
datadir /mydata/data 

<6>启动mysqld
# service mysqld start
# mysql  配置完成


四. 安装配置php

下载软件,因为配置的php要用到mcrypt的作用,因此下载的软件包如下
libmcrypt-2.5.7-5.el5.x86_64.rpm   
mhash-0.9.2-6.el5.x86_64.rpm       
php-5.4.13.tar.bz2
libmcrypt-devel-2.5.7-5.el5.x86_64.rpm  
mhash-devel-0.9.2-6.el5.x86_64.rpm

1. yum安装rpm包
因为是下载的rpm包,因此在很大程度上可能自己系统版本和此包不兼容,因此要尽量的下载与上述一样的rpm包,以免产生不必要的麻烦

# 进入此rpm的目录下进行安装
#  yum -y --nogpgcheck localinstall *.rpm 

2. 源码编译安装php

# tar -xf php-5.4.13.tar.bz2
# cd php-5.4.13
#  ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts

--with-apxs2=/usr/local/apache/bin/apxs 这个是把php安装成为apache的一个模块
# make & make install 

3. 复制配置文件,并修改httpd的配置文件

# cp  /root/php/php-5.4.13/php.ini-production  /etc/php.ini
# vim /etc/httpd/httpd.conf 

DirectoryIndex index.html -------》DirectoryIndex index.html index.php
AddType application/x-httpd.php .php
AddType application/x-httpd.php.source .phps

# mv /usr/local/apache/htdocs/index.html  /usr/local/apache/htdocs/index.php
# vim /usr/local/apache/htdocs/index.php

0

阅读 评论 收藏 转载 喜欢 打印举报
已投稿到:
  • 评论加载中,请稍候...
发评论

       

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

    posted @ 2017-05-21 20:07  沉沦的罚  阅读(232)  评论(0编辑  收藏  举报