您的位置:首页 > 数据库

源码搭建LAMP环境

2015-08-25 20:10 591 查看
源码搭建LAMP环境一,LAMP环境概述
LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web 服务器。是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.选择源码安装的理由:使用源代码安装httpd可以获得最新的版本,因为每个软件发布更新时都源代码更新,另外就是功能齐全,源代码安装时保留了最初的信息。另外使用源代码安装非常的灵活,可以根据自己的要去设置相关的信息。二,搭建LAMP的目的:依据Apache的工作原理,搭建LAMP环境来架设网页论坛phpwind

三,搭建LAMP的环境:
虚拟机运行平台 VM10.0类Linux系统为centos6.5Apache为httpd-2.4.9.tar.bz2mysql为mysql-5.6.15-linux-glibc2.5-x86_64.tar.gzPHP为php-5.4.13.tar.bz2其余的软件包为:Discuz_X3.1_SC_GBK.zipapr-1.4.6.tar.gzapr-util-1.5.1.tar.gzxcache-3.1.0.tar.gz编译所需的环境包:Development tools (一般情况下只安装这一个就可以了)Serve platform developmentAdditional development使用源码安装的好处1.可安装最新的版本
2.有着更加丰富的功能
3.个性化设置
Apache和PHP结合的三种方式1.模块
2.CGI
3.Fastcgi (PHP服务可以与Apache服务器分离,从而可以做到负载均衡)
四,LAMP环境实验拓扑(靠模块安装)

在进行实验之前,我们应该首先检查系统中是否安装的有与实验相关的软件包,如果之前安装过,则要清除
1.安装必要的软件包

[root@localhost Packages]# yum --disablerepo=\* --enablerepo=c6-media install pcre-devel openssl-devel libaio  libaio-devel libxml2-devel libpng-devel libjpeg-turbo-devel –y




2.搭建Apache环境对于Apache环境进行源码构建时,需要依赖apr和apr-util
对下载的apr和apr-util以及httpd源代码包拆解到/usr/local/src目录下
(1)拆解apr包:tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/

(2)拆解apr-util 包:tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/

(3)拆解httpd包:tar -jxvf httpd-2.4.9.tar.bz2 -C /usr/local/src/




(4)安装apr
cd apr-1.4.6/


(5)安装编译工具软件包
yum --disablerepo=\*  --enablerepo=c6-media groupinstall "Development tools" –y




(6)检测编译环境:./configure --prefix=/usr/local/apr

(7)编译并安装:make && make install




(8)同样的道理,我们进入到apr-util的目录下安装apr-util
[root@localhost apr-util-1.5.1]# ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr/bin/apr-1-config






(9)预编译环境没有问题后,编译并安装
[root@localhost apr-util-1.5.1]# make && make install




(10)安装Apache
进入Apache代码包解压的目录下    cd httpd-2.4.9/
预编译执行下列选项:
[root@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-util/bin/apu-1-config \
--with-pcre  \
--with-z  \
--enable-mpms-shared=all \
--with-mpm=prefork



(11)编译并安装
[root@localhost httpd-2.4.4]# make && make install




(12)安装之后进入配置文件目录,查看配置文件 cd /etc/httpd/conf



(13)进入bin目录,启动Apache。 cd /usr/local/apache/bin


(14)启动Apache服务 ./httpd -k start
[root@localhost bin]# ./httpd -k start


(15)查看80端口是否开启。 netstat -tupln |grep httpd



16)关闭防火墙以及安全机制,之后对Apache进行测试
[root@localhost bin]# service iptables stop
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@localhost bin]# setenforce 0
[root@localhost bin]#
http://192.168.3.100



17)改变apache的环境变量,打开文件
[root@localhost bin]# vim /etc/profile



写在export之前,export作用是把变量输出为环境变量
(18)编写Apache的控制脚本
cd /etc/init.d/
[root@localhost bin]# cd /etc/init.d
[root@localhost init.d]# touch httpd
[root@localhost init.d]# chmod a+x httpd
[root@localhost init.d]# vim httpd
程序脚本如下:
#!/bin/bash
# chkconfig: 2345 88 99
# desceription: the apache server

prog=/usr/local/apache/bin/httpd
lockfile=/var/lock/subsys/httpd

start() {
if [ -e $lockfile ]; then
echo "the apache server is started"
else
echo -n "the apache server is starting....."
$prog -k start &>/dev/null
fi
[ "$?" -eq 0 ] && echo -e " \t [\033[32m  ok \033[0m ]" && touch $lockfile ||echo -e " [\033[31m  fail \033[0m  ] "
}

stop () {
if [ ! -e $lockfile ];then
echo "the apache server is stoped"
else
echo -n "the apache server is stoping....."
$prog -k stop  &>/dev/null
fi
[ "$?" -eq 0 ] && echo -e "[\033[32m ok \033[0m ]" && rm -rf $lockfile ||echo -e "[\033[31m fail \033[0m]"
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "USAGE:start|stop|restart"
;;
esac
(19)编写好之后,测试开机脚本


20)加入命令[root@localhost init.d]# chkconfig --add httpd


21)库文件
[root@localhost usr]# vim /etc/id.so.conf.d/apr.conf


刷新缓存
Idconfig
[root@new ld.so.conf.d]# ldconfig -pv |grep apr
22)头文件链接 /usr/include
[root@localhost include]# ln -s /usr/local/apache/include/ apache

23)手册创建
[root@localhost usr]# vim /etc/man.config


3搭建mysql环境(1)拆解mysql代码包到/usr/local目录下[root@localhost yuanma]# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/

(2)进入到拆解的目录下cd /usr/loca

查看和mysql相关的包,将其删除
[root@localhost ~]# rpm -qa |grep mysql
[root@localhost ~]# yum --disablerepo=\* --enablerepo=c6-media remove mysql-libs -y
也可以用这个语句直接卸rpm -e mysql-libs --nodeps
(3)为了后面的实验方便,我们为mysql创建一个连接
[root@localhost local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql


(4)进入mysql目录,创建mysql组,系统账号mysql,更改该目录下的用户和所属组为mysql,之后对数据库进行初始化。
[root@localhost local]# cd mysql
[root@localhost mysql]# groupadd -r mysql
[root@localhost mysql]# useradd -r -g mysql mysql
[root@localhost mysql]# chown -R mysql:mysql .  ***不要忘了最后的“.”
[root@localhost mysql]# ./scripts/mysql_install_db  --user=mysql



(5)拷贝mysql的配置文件到/etc目录下,更改用户为root,对于data/目录的用户为mysql
[root@localhost mysql]# chown -R root .
[root@localhost mysql]# chown -R mysql data/

[root@localhost support-files]# cp my-medium.cnf /etc/my.cnf
(6)拷贝mysql的脚本文件到/etc/init.d目录下
[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld



(7)开启mysql,并查看3306端口是否开启
[root@localhost support-files]# service mysqld start
[root@localhost support-files]# netstat -tupln |grep mysql



(8)/etc/profile文件中添加mysql的链接路径,添加后刷新/etc/profile文件. /etc/profile
[root@localhost bin]# vim /etc/profile



[root@localhost bin]# . /etc/profile
(9)链接mysql


(10)为mysql的后期管理创建账号和密码
[root@localhost ~]# mysqladmin -u root -p password '123'




(输入密码时直接回车)添加开机自启动
[root@localhost ~]# chkconfig --add mysqld

11)添加mysql的库文件搜索路径
[root@localhost ~]# vim /etc/ld.so.conf.d/mysql.conf


(12)ldconfig刷新,ldconfig –pv|grep mysql查看mysql库文件路径



13)手册
[root@localhost ~]# vim /etc/man.config



4.搭建PHP环境(1)拆解PHP的代码包到/usr/local/src目录下
[root@localhost lamp]# tar -jxvf php-5.5.8.tar.bz2 -C /usr/local/src/


(2)进入拆解的目录下,查看相关的文件
cd /usr/local/src/php-5.4.13/




3)执行预编译选项
[root@localhost php-5.5.8]# ./configure  \
> --prefix=/usr/local/php \
> --with-config-file-path=/etc/php  \
> --with-config-file-scan-dir=/etc/php5.d  \
> --with-apxs2=/usr/local/apache/bin/apxs  \
> --with-mysql=/usr/local/mysql \
> --with-pdo-mysql=/usr/local/mysql \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-mbstring \
> --with-zlib \
> --with-gd


(4)执行编译和安装make && make install
[root@localhost php-5.5.8]# make && make install


5)在/etc目录下创建php和php5.d目录,拷贝php.ini-production 到/etc/php.ini
[root@localhost php]# mkdir /etc/php /etc/php5.d
进入目录
[root@localhost htdocs]# cd /usr/local/src/php-5.5.8/
[root@localhost php-5.5.8]# cp php.ini-production /etc/php.ini
进行重启:


(6)在Apache的配置文件中添加php的解释语句
[root@localhost php]# vim /etc/httpd/httpd.conf
在httpd.conf 加入 AddType application/x-httpd-php .php

指明首页:

Apache进行重启

(7)在/usr/local/apache/htdocs/目录下,编写index.php文件vim index.php


(8)测试能否链接php,http://192.168.2.102/index.php



9)测试php与mysql的结合,建新的页面index.php

[root@localhost htdocs]# vim index1.php
http://192.168.3.100/index1.php
5.为php添加加速缓存xcache(1)拆解xcache代码包到/usr/local/src/目录下
[root@localhost lamp]# tar -zxvf xcache-3.1.0.tar.gz -C /usr/local/src/


(2)在xcache的目录下执行/usr/local/php/bin/phpize链接php的内容

(3)执行预编译选项
./configure
--enable-xcache
--with-php-config=/usr/local/php/bin/php-config


(4)编译并安装make && make install

拷贝ini文件






(5)拷贝xcache.so模块文件和xcache.ini文件到/etc/php5.d/目录下
cp /usr/local/php/lib/php/extensions/no-debug-zts-20121212/xcache.so  /etc/php5.d/







(6)访问index.php 看看php中是否加载了xcache






7)实现身份验证、cd /etc/php5.d
[root@localhost php5.d]# vim xcache.ini




[root@localhost php5.d]# cd /usr/local/src/xcache-3.1.0/
[root@localhost xcache-3.1.0]# cp -r htdocs /usr/local/apache/htdocs/admin
之后进行重启

测试:

输入账户名,密码


6.在LAMP的环境基础上建设web网页论坛 DiscuzUnzip phpwind_GBK_8.3.zip
[root@localhost mnt]# cd phpwind_GBK_8.3
[root@localhost phpwind_GBK_8.3]# mv upload /usr/local/apache/htdocs/phpwind


(2)访问http://10.100.106.200/phpwind开始搭建


改变权限:
[root@localhost phpwind]# chmod -R 777 data/ html/ attachment/




进入数据库在数据库中创建要使用的库phpwind



填入论坛数据信息







删除install.php文件



至此,我们已经完成了论坛的创建,用户可以登陆后台的管理界面,根据自己的需求对论坛进行相关的管理。

测试网站的性能,进入光盘安装httpd-tools
[root@localhost Packages]# yum --disablerepo=\* --enablerepo=c6-media install httpd-tools –y


压力测试
[root@localhost mnt]# ab -n 1000 -c 500 http://192.168.3.100/phpwind/index.php[/code] 


Fastcgi的结合方式安装Apache和MySQL的安装都是一样的,前面已经操作过了,就只说PHP的安装了源码包为php-5.5.8.tar.bz2拆解包到源码目录
[root@new ~]# tar -jxvf php-5.5.8.tar.bz2 -C /usr/local/src/
[root@new ~]# cd /usr/local/src/php-5.5.8/
[root@new php-5.5.8]# ./configure  \
> --prefix=/usr/local/php \
> --with-config-file-path=/etc/php  \
> --with-config-file-scan-dir=/etc/php5.d  \
> --enable-fpm \
> --enable-sockets \
> --with-mysql=/usr/local/mysql \
> --with-pdo-mysql=/usr/local/mysql \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-mbstring \
> --with-zlib \
> --with-gd \
发现配置出错,检查发现少了libxml2-devel

[root@new php-5.5.8]# yum --disablerepo=\* --enablerepo=c6-media install libxml2-devel –y
继续执行配置,又出现错误,检查
[root@new php-5.5.8]# yum --disablerepo=\* --enablerepo=c6-media install libpng-devel –y
继续配置

[root@new php-5.5.8]# make && make install

拷贝配置文件/usr/local/php/etc
[root@new etc]# cp php-fpm.conf.default /etc/php-fpm.conf

拷贝控制脚本/usr/local/src/php-5.5.8/sapi/fpm
[root@new fpm]# cp init.d.php-fpm /etc/init.d/php-fpm
[root@new php-5.5.8]# chmod a+x /etc/init.d/php-fpm

拷贝PHP.ini   /usr/local/src/php-5.5.8
[root@new php-5.5.8]# mkdir /etc/php
[root@new php-5.5.8]# cp php.ini-production /etc/php/php.ini

开启PHP
[root@new etc]# service php-fpm start
Starting php-fpm  done


加入开机自启动
[root@new etc]# chkconfig --add php-fpm

[root@new etc]# chkconfig --list |grep php-fpm
php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:ofPHP单独服务器已经做好为Apache服务器配置[root@new etc]# vim /etc/httpd/httpd.conf

添加语句

指明首页

关闭正向代理,指明当访问PHP页面时,转到的fcgi的地址uri

[root@new local]# service httpd restart
测试,OK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息