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 = 0
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
t 变换分区类型
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
后一篇:LEMP架构的搭建
< 前一篇linux系统集群之高可用(一)HA
后一篇 >LEMP架构的搭建