天天看点

构建企业级LAMMP环境

一、lammp简介

二、lammp项目环境简介

三、apache的安装与配置

四、fastcgi的安装与配置

五、整合apache与php服务

六、安装mysql服务器

七、安装memcache与libevent

八、安装memcache 基于web管理平台

    lamp(linux- apache-mysql-php)网站架构是目前国际流行的web框架,该框架包括:linux操作系统,apache网络服务器,mysql数据 库,perl、php或者python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和 java/j2ee架构相比,lamp具有web资源丰富、轻量、快速开发等特点,微软的.net架构相比,lamp具有通用、跨平台、高性能、低价格的 优势,因此lamp无论是性能、质量还是价格都是企业搭建网站的首选平台。在此基础上我们增加了memcache缓冲服务器,解决了应用程序与数据库之间的瓶颈问题,有效提高了访问速度,这就是lammp架构。

系统环境:centos6.4x86-64            

apache   ip: 172.16.10.1

php      ip:172.16.10.2

mysql    ip:172.16.10.3

memcache ip: 172.16.10.4

构建企业级LAMMP环境

  此lammp架构是分别搭建在不同的服务器上面,在生产环境中,更是应该如此,一台服务器提供多种应用,服务器会很消耗资源,提供服务的性能也会降低。

此架构中各服务器的工作

     apache在此架构中,响应回复用户html的请求

     fastcgi是把php程序执行的结果响应给apache

     memcached是根据用户请求的动态网页文件中是否需要memcached服务器缓存数据,memcache是把数据存储在内存中的,速度可想而知了。

     mysql是响应用户是否需写入查询数据

用户的请求资源到获取资源的过程

   1、当用户只需要请求web服务器的html页面时,apache直接响应请求,所经过的过程为1--->10

   2、当用户需请求一个web服务器的动态的页面时,apache把用户请求的php执行程序发送给fastcgi服务器执行,fastcgi把执行的结果返回给apache服务器,服务器把程序生成的的静态页面响应给客户端。所经过的过程1--->2--->3--->8--->9--->10

   3、当用户需要请求的web服务器资源中需要数据时,apache把用户请求的php执行  程序给fastcgi执行,执行过程中需要对数据进行操作时且memcached中没有缓存时,fastcgi去请求mysql服务器的资源,mysql服务器把数据响应给fastcgi,如果此数据需要缓存则fastcgi把数据缓存到memcached服务器上,然后把数据响应给apache,apache生成静态的页面响应给客户端。所经过的过程1--->2--->3--->6--->7[--->4]--->8--->9--->10(如果需要缓存则会经过4过程)

   4、当用户需要请求的web服务器资源中需要数据时,apache把用户请求的php执行程序给 fastcgi执行,执行过程中需要对数据进行操作时memcached中有缓存时,memcached直接把 数据响应给fastcgi,然后把数据响应给apache,apache生成静态的页面响应给客户端。所经过的过程1--->2--->3--->4--->5--->8--->9--->10

为了解决软件包下载的问题,特提供软件包的下载地址:

apr版本:apr-1.4.8

下载地址:http://mirror.bit.edu.cn/apache//apr/apr-1.4.8.tar.bz2

apr-util版本:apr-util-1.5.2

下载地址:http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.2.tar.bz2

httpd版本:httpd-2.4.6            

下载地址:http://mirror.esocc.com/apache//httpd/httpd-2.4.6.tar.bz2

memcached版本:memcached-1.4.15    

下载地址:http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz

mysql版本:mysql-5.5.33              

下载地址:http://mirrors.sohu.com/mysql/mysql-5.5/mysql-5.5.33-linux2.6-x86_64.tar.gz

php版本:php-5.4.19                  

下载地址:http://mirrors.sohu.com/php/php-5.4.19.tar.bz2

php的memcache驱动:memcache-2.2.7    

下载地址:http://pecl.php.net/get/memcache-2.2.7.tgz

libevent版本:libevent-2.0.21-stable  

下载地址:http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

系统的yum源为搜狐源,

准备系统环境:

安装apr

安装apr-util

安装apache

提供sysv服务脚本/etc/rc.d/init.d/httpd,内容如下

为此脚本赋予执行权限

将httpd加入服务列表

启动httpd服务

客户端访问测试

构建企业级LAMMP环境

系统环境安装

安装php服务

为php提供配置文件

为php-fpm提供sysv init脚本,并将其添加至服务列表

为php-fpm提供配置文件:

编辑php-fpm配置文件

注释:

   第2-6行:更具个人服务器系统性能进行调试

启动php-fpm服务

查看服务是否已经启动

构建企业级LAMMP环境

配置apache服务器

设置虚拟主机

重新启动httpd服务

创建站点目录(注意在apache服务器和fastcgi服务器都需要创建)

在fastcgi服务器上创建php测试脚本

客户端测试php是否工作正常

构建企业级LAMMP环境

mysq有三种安装方式

rpm包

通用二进制包

源码包

此处我们采用通用二进制包安装

创建mysql数据的存放路径

创建mysql用户并修改权限

安装并初始化mysql

为mysql提供主配置文件

修改主配置文件

为mysql提供sysv服务脚本并添加到服务列表

输出mysql的man手册至man命令的查找路径

输出mysql的头文件至系统头文件路径/usr/include

修改完成之后重新载入系统库

修改path环境变量,让系统可以直接使用mysql的相关命令。

启动mysqld服务

数据库授权

apache和fastcgi配置phpmyadmin

客户端连接测试

构建企业级LAMMP环境
构建企业级LAMMP环境

安装libevent

memcached依赖于libevent api,因此要事先安装。

安装memcache

为memcached 提供sysv风格的startup脚本代码如下所示

查看memcached监听端口

构建企业级LAMMP环境

安装memcache的php扩展(php的驱动)

修改php配置文件加载memcached模块

重新启动此服务php-fpm

此时在客户端测试php与memcache是否连接成功

构建企业级LAMMP环境

测试memcached与php是否工作正常

客户端再次访问测试

构建企业级LAMMP环境

创建memcache站点目录(注意在apache服务器和fastcgi服务器都需要创建)

构建企业级LAMMP环境
构建企业级LAMMP环境
构建企业级LAMMP环境

注意要想使用memcache功能,首先需要确定程序是支持memcache的,否则此时的memcache没有任何意义。。。

至此lammp环境搭建完成。。。

望广大博友多提宝贵意见,共同努力。。。