码迷,mamicode.com
首页 > 其他好文 > 详细

源码搭建LAMP环境

时间:2015-08-26 00:05:39      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:数据库软件   解决方案   开源软件   软件开发   应用程序   

源码搭建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.5

Apache为httpd-2.4.9.tar.bz2

mysql为mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz

PHP为php-5.4.13.tar.bz2

其余的软件包为:

Discuz_X3.1_SC_GBK.zip

apr-1.4.6.tar.gz

apr-util-1.5.1.tar.gz

xcache-3.1.0.tar.gz

编译所需的环境包:

Development tools   (一般情况下只安装这一个就可以了)

Serve platform development

Additional development

使用源码安装的好处

  1. 1.可安装最新的版本

  2. 2.有着更加丰富的功能

  3. 3.个性化设置

Apache和PHP结合的三种方式

  1. 1.模块

  2. 2.CGI

  3. 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环境进行源码构建时,需要依赖aprapr-util

对下载的aprapr-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网页论坛 Discuz

Unzip 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

技术分享

技术分享

Fastcgi的结合方式安装

ApacheMySQL的安装都是一样的,前面已经操作过了,就只说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:of

PHP单独服务器已经做好

Apache服务器配置

[root@new etc]# vim /etc/httpd/httpd.conf

技术分享

添加语句

技术分享

指明首页

技术分享

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

技术分享

[root@new local]# service httpd restart


测试,OK

技术分享


本文出自 “监督局” 博客,请务必保留此出处http://shuoshuo234.blog.51cto.com/10531943/1688212

源码搭建LAMP环境

标签:数据库软件   解决方案   开源软件   软件开发   应用程序   

原文地址:http://shuoshuo234.blog.51cto.com/10531943/1688212

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!