前言: LAMP(Linux + Apache + MySQL + PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据 库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的 优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
面对现在的开源组织的日新月异,各种软件的发行版源代码每天也在更新中。为了使用更加健全完善的软件功能,作为网络维护人员,要定期对软件进行源代码编译,来提升系统的总体性能。对于当下较为流行的LAMP架构,搭建一个最新的源码环境,显得更是尤为重要。 今天我们就用最新的源码来搭建一个全新的LAMP环境。 源码安装使用起来很方便有以下好处:
1.更新的版本 httpd mysql php 2.性能 3.自定义参数 实验环境: php-5.4.13.tar.bz2 mysql-5.6.10.tar.gz httpd-2.4.4.tar.bz2 apr-1.4.6.tar.gz...............(apache可 apr-util-1.5.1.tar.gz...........执行运行库) cmake-2.8.10.2.tar.gz(实现配置功能,对源码配置)
源码安装apache Apache编译需要apr和apr-util的支持,所以需要预先编译这两个源码. apr 可移植运行库
安装apr: [iyunv@localhost ~]# tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/ [iyunv@localhost ~]# tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/ [iyunv@localhost ~]# cd /usr/local/src/apr-1.4.6/
[iyunv@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr [iyunv@localhost apr-1.4.6]#make [iyunv@localhost apr-1.4.6]#make install [iyunv@localhost apr-1.4.6]# cd /usr/local/apr
把系统调用赋给模块 编辑文件实现赋给 [iyunv@localhost apr]# vim /etc/ld.so.conf.d/apr.conf
[iyunv@localhost apr]# ll /etc/ld.so.cache 用ldconfig 刷新缓存可以查看 [iyunv@localhost apr]# ldconfig -pv | grep apr查看加载
root@localhost apr]# ln -s /usr/local/apr/include/ /usr/include/apr 库文件创造连接
[iyunv@localhost ~]# cd /usr/local/src/apr-util-1.5.1/
[iyunv@localhost apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[iyunv@localhost apr-util-1.5.1]# make &&make install
[iyunv@localhost apr-util]# vim /etc/ld.so.conf.d/apr-util.conf
[iyunv@localhost apr-util]# ldconfig [iyunv@localhost apr-util]# ldconfig -pv |grep apr-util
[iyunv@localhost apr-util]# ln -s /usr/local/apr-util/include/ /usr/include/apr-util
[iyunv@localhost ~]# vim /etc/profile(修改文件使bin生效) 下次登录生效
apr做完
httpd安装 [iyunv@localhost ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src [iyunv@localhost ~]# cd /usr/local/src/httpd-2.4.4/
./configure --prefix=/usr/local/apache (指定Apache的安装目录) --sysconfdir=/etc/httpd (指定Apache服务的配置脚本目录) --enable-so (启用Apache的DSO动态共享对象功能) --enable-ssl (启用Apache的SSL/TLS功能) --enable-rewrite (启用地址重写功能) --with-apr=/usr/local/apr/bin/apr-1-config (apr配置脚本目录) --with-apr-util=/usr/local/apr-util/bin/apr-1-config (apr配置目录) --with-z (启用压缩库) --enable-mpms-shared=all (自动选择MPM类型) --enable-mods-shared=most (常用模块)
有错误需要pcre yum 安装 [iyunv@localhost httpd-2.4.4]# yum install pcre-devel
[iyunv@localhost httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all
[iyunv@localhost httpd-2.4.4]# make && make install [iyunv@localhost httpd-2.4.4]# cd /usr/local/apache/ [iyunv@localhost apache]# ll
[iyunv@localhost apache]# ll /etc/httpd/
vim /etc/profile编辑文件把bin加入系统中 图
ln -s include /usr/include/apache 做链接
[iyunv@localhost apache]# vim /etc/man.config 编辑/etc/man.config文件,将Apache源码的man路径加入到配置中。
软连接将Apache源码的include/目录下的头文件加入到系统路径中。 ln -s /usr/local/apache/include/ /usr/include/apache
自编写bash脚本,来完成Apache服务的start、stop、restart等操作,并且能接受chkconfig的管理。 vim httpd
mv httpd /etc/init.d/ chmod a+x /etc/init.d/httpd 启动Apache服务,并观察端口状态。 service httpd start chkconfig httpd on chkconfig --list | grep httpd
netstat -tupln | grep 80
源码安装mysql 解压mysql cmake(略!)
源码安装编译MySQL需要的cmake工具。 mv /usr/local/src/cmake-2.8.10.2-Linux-i386 /usr/local/cmake 编辑/etc/profile文件,把cmake的bin路径加入到系统路径中。
编译MySQL. cd /usr/local/src/mysql-5.6.10/ cmake . make && make install (估计20分钟左右) 创建mysql组和mysql账号(系统服务账号),修改mysql目录的权限。 useradd -r -g mysql mysql cd /usr/local/mysql chown -R mysql . chgrp -R mysql .
以mysql的身份初始化MySQL数据库。 scripts/mysql_install_db --user=mysql 把mysql目录的所有者权限改回root,除了data/目录。 chown -R root . chgrp -R mysql data/
拷贝样例配置文件,形成MySQL的主配置文件。 cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 启动MySQL服务,并观察端口状态. service mysqld start netstat -tupln | grep 3306
编辑/etc/profile文件,将MySQL源码的bin路径加入到环境变量中。
编辑/etc/ld.so.conf.d/mysql.conf文件,将MySQL源码的lib路径加入到系统库中。 ldconfig刷新库lib动态链接库。 查看有没有加载成功。
软连接将MySQL源码的include/目录下的头文件加入到系统路径中。 ln -s /usr/local/mysql/include/ /usr/include/mysql
源码安装php
cd /usr/local/src/php-5.4.14/ ./configure --prefix=/usr/local/php(指定安装目录) --with-apxs2=/usr/local/apache/bin/apxs (将php编译成apache的模块,允许apache的apxx调用该模块) --with-mysql=/usr/local/mysql (指明mysql的安装位置) --with-mysqli=/usr/local/mysql/bin/mysql_config(调用myql接口) -enable-mbstring=all(指定字符集) --with-xml --with-png --with-jpeg --with-gd --with-zlib --with-freetype xml|png|zlib|jpeg|freetype是apache的一些绘图功能 make && make install 编辑/etc/profile文件,将PHP源码的bin路径加入到环境变量中。
编辑/etc/ld.so.conf.d/php.conf文件,将PHP源码的lib路径加入到系统库中。
ldconfig刷新库lib动态链接库。 软连接将PHP源码的include/目录下的头文件加入到系统路径中。 ln -s /usr/local/php/include/ /usr/include/php 编辑Apache的配置文件,添加支持PHP的一些模块处理功能。
service httpd restart
|