LAMP环境的搭建(模块)+ xcache缓存

LAMP环境的搭建(模块)

LAMP简介:

LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web 服务器。

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案.

为什么要使用源码安装:

理由

1.更新的版本  httpd   mysql  php

2.提高性能

3.自定义参数

apache  和 php的结合方式:

1.模块      libphp5.so                                             2.cgi      通用网关接口

3.fastcgi   快速cgi

下面我们使用模块的方式实现apache和php的结合:

Linux环境  :        centos 6.4  版本号2.6.32-431.el6.i686

32位操作系统

源码         httpd-2.4.9.tar.bz2

php-5.5.8.tar.bz2

mysql-5.6.15.tar.gz

apr-1.4.6.tar.gz

apr-util-1.5.1.tar.gz

预编译环境   :   Development tools

Server Platform Development

Additional Development

cmake

MySQL的安装:

mysql从5.5版本开始,不再使用./configure编译,而是使用cmake编译器,具体的cmake编译参数可以参考mysql官网文档(※ 非常重要)

http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

我的mysql目录配置如下:

安装路径:/usr/local/mysql

数据库路径:/usr/local/mysql/data

源码包存放位置:/usr/local/src

[[email protected] ~]# yum --disablerepo=\* --enablerepo=c6-media groupinstall "Development tools"  "Server Platform Development" –y

[[email protected] ~]# yum --disablerepo=\* --enablerepo=c6-media  remove  mysql-libs  -y                    (※ 卸载掉预安装的mysql的lib库文件)

[[email protected] ~]# yum --disablerepo=\* --enablerepo=c6-media  install cmake -y

[[email protected] ~]# tar -zxvf mysql-5.6.15.tar.gz  -C  /usr/local/src/

[[email protected] ~]# cd /usr/local/src/mysql-5.6.15/

[[email protected]]#cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1  \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DMYSQL_TCP_PORT=3306  \

-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \

-DENABLED_LOCAL_INFILE=1  \

-DWITH_PARTITION_STORAGE_ENGINE=1  \

-DEXTRA_CHARSETS=all  \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

[[email protected] mysql-5.6.15]# make && make install

来到MySQL的安装路径/usr/local/mysql下根据INSTALL-BINARY文件来完成MySQL的安装

[[email protected] ~]# cd /usr/local/mysql/

[[email protected] mysql]# vim INSTALL-BINARY

[[email protected] mysql]# groupadd mysql

[[email protected] mysql]# useradd -r -g mysql mysql

[[email protected] local]# cd mysql/

[[email protected] mysql]# chown -R mysql:mysql .

[[email protected] mysql]# ./scripts/mysql_install_db  --user=mysql

[[email protected] mysql]# chown -R root .

[[email protected] mysql]# chown -R mysql data

MySQL的后续处理

拷贝MySQL的配置文件到/etc目录下

[[email protected] mysql]# cp my.cnf  /etc

拷贝MySQL的控制脚本文件到/etc/init.d/目录下

[[email protected] mysql]# cd support-files/

[[email protected] support-files]# cp -p mysql.server  /etc/init.d/mysqld

编辑环境预配置文件添加MySQL的搜索路径

[[email protected] ~]# vim /etc/profile

PATH=$PATH:/usr/local/mysql/bin

[[email protected] ~]# . /etc/profile

给MySQL设置管理口令

[[email protected] ~]# mysqladmin -u root -p password ‘123‘

设置开机自动启动

[[email protected] ~]# chkconfig --add mysqld

[[email protected] ~]# chkconfig mysqld on

库文件的处理

[[email protected] ~]# vim /etc/ld.so.conf.d/mysql.conf

[[email protected] ~]# ldconfig                           #刷新缓存

[[email protected] ~]# ldconfig -pv |grep mysql           #查看是否加载

头文件的处理

[[email protected] ~]# cd /usr/include/

[[email protected] include]# ln -s /usr/local/mysql/include/    mysql

MySQL手册的处理

[[email protected] ~]# vim /etc/man.config

MANPATH /usr/local/mysql/man

apache的安装:

为了方便apache的运行,需要搭建apache的可移植性运行环境,就需要额外使用两个包apr  apr-util

解压缩包到/usr/local/src

[[email protected] ~]# tar -zxvf  apr-1.4.6.tar.gz  -C /usr/local/src/

[[email protected] ~]# tar -zxvf  apr-util-1.5.1.tar.gz  -C /usr/local/src/

[[email protected] ~]# tar -jxvf  httpd-2.4.9.tar.bz2  -C /usr/local/src/

安装apr

[[email protected] ~]# cd /usr/local/src/apr-1.4.6/

[[email protected] apr-1.4.6]# ./configure  --prefix=/usr/local/apr

[[email protected] apr-1.4.6]# make && make install

安装apr-utils

[[email protected] ~]# cd /usr/local/src/apr-util-1.5.1/

[[email protected] apr-util-1.5.1]# ./configure --prefix=/usr/local/apr-utils  --with-apr=/usr/local/apr/bin/apr-1-config

[[email protected] apr-util-1.5.1]# make && make install

安装httpd

[[email protected] ~]# cd /usr/local/src/httpd-2.4.9/

[[email protected] httpd-2.4.9]# yum --disablerepo=\* --enablerepo=c6-media install pcre-devel -y

[[email protected] httpd-2.4.9]# ./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-utils/bin/apu-1-config \

--with-pcre  \

--with-z  \

--enable-mpms-shared=all

[[email protected] httpd-2.4.9]# make && make install

httpd的后续处理

编辑环境预配置文件添加httpd的搜索路径

[[email protected] ~]# vim /etc/profile

PATH=$PATH:/usr/local/apache/bin

[[email protected] ~]# . /etc/profile

头文件的处理

[[email protected] ~]# cd /usr/include/

[[email protected] include]# ln -s /usr/local/apache/include/   apache

httpd手册的处理

[[email protected] ~]# vim /etc/man.config

MANPATH /usr/local/apache/man

编辑httpd的控制脚本

[[email protected] init.d]# vim /etc/init.d/httpd

#!/bin/bash

prog=/usr/local/apache/bin/httpd

lockfile=/var/lock/subsys/httpd

# description: the httpd server

# chkconfig:   2345 88 44

start() {

if [ -e $lockfile ];then

echo "the httpd server is started"

else

echo -n "the httpd server is starting"

sleep 1

$prog -k start && echo –e "\t ok" && touch $lockfile || echo "failed"

fi

}

stop() {

if [ ! -e $lockfile ];then

echo "the httpd server is stopped"

else

echo -n "the httpd server is stopping"

sleep 1

$prog -k stop && echo –e "\t ok" && rm -rf $lockfile || echo "failed"

fi

}

case "$1"  in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo "USAGE:start|stop|restart"

;;

esac

[[email protected] init.d]# chconfig --add httpd

PHP的安装:

先安装php所需的devel包

[[email protected] php-5.5.8]# yum --disablerepo=\* --enablerepo=c6-media install libxml2-devel libjpeg-turbo-devel libpng-devel  freetype-devel  -y

解压缩包到/usr/local/src

[[email protected] ~]# tar -jxvf php-5.5.8.tar.bz2  -C /usr/local/src/

[[email protected] ~]# cd /usr/local/src/php-5.5.8/

[[email protected] 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=all \

--with-gd   \

--with-jpeg-dir

[[email protected] php-5.5.8]# make && make install

php的后续处理

创建php的配置文件目录php和额外扩展配置文件目录php5.d

[[email protected] ~]# mkdir -pv /etc/php /etc/php5.d

[[email protected] ~]# cd /usr/local/src/php-5.5.8/

[[email protected] php-5.5.8]# cp php.ini-production /etc/php/php.ini

由于php和apache是用模块结合起来的,vim  httpd.conf  查看是否加载了php的模块

在httpd.conf  加入  AddType application/x-httpd-php .php指明.php文件的处理类型

添加.php类型的默认首页

在apache的默认站点目录下编辑一个默认.php类型的首页,做一下php和httpd的连接测试

[[email protected] ~]# cd /usr/local/apache/htdocs/

[[email protected] htdocs]# vim index.php

可以看到php的各种参数,连接成功

更改index.php的内容测试php和MySQL的连接情况

可以看到连接成功

搭建phpwind应用测试LAMP环境  这里我使用物理目录

[[email protected] ~]# unzip phpwind_v9.0_gbk.zip

[[email protected] ~]# cd phpwind_v9.0_gbk

[[email protected]_v9.0_gbk]#mv upload  /usr/local/apache/htdocs/phpwind

使用浏览器访问http://192.168.2.100/phpwind可以看到出现了phpwind的安装向导

点击下一步可以看到环境检测没问题

来到phpwind目录下更改文件权限

[[email protected] htdocs]# cd phpwind/

[[email protected] phpwind]# chmod  -R o+w attachment/ conf/  data/ html/ src/ themes/ windid/

创建数据

安装完成后成功进入站点

压力测试

Apache HTTP Web 服务器提供了一个叫做 ab 的工具,即 Apache HTTP 服务器性能检测(benchmark)工具的缩写。ab 用于为 PHP 页面自动化处理大量的请求

对静态页面index.html进行压力测试  可以看到只有每秒800左右

[[email protected] ~]# ab -n 10000 -c 1000  http://192.168.2.100/index.html

对动态页面index.php进行压力测试  可以看到只有每秒300左右

[[email protected] ~]# ab -n 1000 -c 500 http://192.168.2.100/index.php

 

这远远不能达到我们的要求,怎么加快它的响应速度呢?我们可以使用xcache对php进行缓存

安装xcache:

[[email protected] ~]# tar -zxvf xcache-3.1.0.tar.gz -C /usr/local/src/

[[email protected] ~]# cd /usr/local/src/xcache-3.1.0/

[[email protected] xcache-3.1.0]# vim INSTALL

使用phpize把xcache作为php的扩展

[[email protected] xcache-3.1.0]# /usr/local/php/bin/phpize

[[email protected] xcache-3.1.0]# ./configure  \

> --enable-xcache \

> --with-php-config=/usr/local/php/bin/php-config

[[email protected] xcache-3.1.0]# make && make install

来到下面目录下把xcache的扩展模块xcache.so模块拷到php的扩展配置文件/etc/php5.d/下

cd /usr/local/php/lib/php/extensions/no-debug-zts-20121212/

[[email protected] no-debug-zts-20121212]# cp xcache.so /etc/php5.d/

拷贝xcache的配置模板xcache.ini到php的扩展配置文件/etc/php5.d

[[email protected] xcache-3.1.0]# cp xcache.ini /etc/php5.d/

Xcache安装完成后重新启动httpd服务

我们接着来作压力测试看看xcache的效果

对静态页面index.html进行压力测试  可以看到只有每秒1300左右

[[email protected] ~]# ab -n 10000 -c 1000  http://192.168.2.100/index.html

对动态页面index.php进行压力测试  可以看到只有每秒800左右

[[email protected] ~]# ab -n 1000 -c 500 http://192.168.2.100/index.php

可以看到xcache缓存对php站点的响应速度有了很大的提升!

时间: 10-30

LAMP环境的搭建(模块)+ xcache缓存的相关文章

LAMP环境的搭建(fastcgi)+ xcache加速

LAMP环境的搭建(fastcgi) LAMP简介: LAMP指的Linux(操作系统).ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web 服务器. Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台

LAMP环境的搭建

LINUX--LAMP 一.实验环境 二.Apache 一.安装DNS 1.安装bind相关软件包 rpm   -ivh   bind-9-..   bind-chroot-- 2.主DNS配置 1)主配置文件 vim  /var/named/chroot/etc/named.conf 2)修改区域文件 vim  /var/named/chroot/var/named/benet.com.zone 3)区域数据文件 (反向) vim   /var/named/chroot/var/named/1

LAMP环境下搭建discuz论坛

Discuz!是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能.很强负载能力和可高度定制的论坛服务.Discuz! 的基础架构采用世界上最流行的web编程组合PHP+MySQL实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案. 1.下载discuz!安装包 创建www目录存放discuz安装文件 [[email protected] src]# mkdir /data/www [[email protected

RedHat6.4系统下LAMP环境的搭建---(yum搭建)

一:配置本地yum源 : 1 创建一个文件夹用于存放挂载光盘的文件 mkdir /mnt/cdrom 2 将光驱挂载在创建的文件夹中 mount /dev/cdrom /mnt/cdrom 3 当然我们也可以设置为开机自动挂载光驱:用vi编辑/etc/rc.local文件,因为在系统启动过程中,完成初始化脚本的执行后,会执行这个脚本文件添加命令如下: vi /etc/rc.local mount /dev/cdrom /mnt/cdrom #后面挂载点可以自己选择 4 配置本地yum源的文件:

centos下lamp环境快速搭建

一.准备篇 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙 PS:上面2句应该放置在默认的22端口这条规则的下面,如果放在其他位置,会导

LAMP环境搭建教程

学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP.WAMP.MAMP等.这里我介绍一下LAMP环境的搭建,即Linux.Apache.MySQL.PHP环境. 一.首先安装操作系统 操作系统:centos6.3 IP地址:192.168.146.129 网关: DNS: 操作系统安装步骤,此处不在给出截图. 备注:服务器系统采用最小化安装,安装一下GCC编译工具和一个桌面即可.如下图所示: 二.LAMP安装前的准备 1.获取软件包 httpd-2.4.2.ta

CentOS6.5下搭建LAMP环境(源码编译方式)

CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介绍一下LAMP环境的搭建,即Linux. Apache. MySQL .PHP环境. 一.首先安装操作系统 操作系统:centos6.5 操作系统安装步骤,此处不再详述. 备注:服务器系统采用最小化安装,安装一下GCC编译工具和一个桌面即可.如下图所示: 由于安装系统的时候我是最小化安装,只安装了一

Ubuntu-server14.04搭建LAMP环境

原文:Ubuntu-server14.04搭建LAMP环境 对于很多PHP初学开发者来讲,搭建一个可用于生产的LAMP环境是一件费时费力的事情,本文以 ubuntu-server14.04为例,给出一个搭建环境的教程,供大家参考: 1.更新软件源 sudo apt-get update 2.安装Apache sudo apt-get install apache2 3.查看Apache是否安装成功 apache2 –v 如下所示,表示搭建成功 4. 通过浏览器访问服务器的IP,如果出现Apach

2-24-源码编译搭建LAMP环境-作业 ( By 小甘丶 )

安装上课的内容要求: 实验环境: VMware Virtual Machine : System Version: CentOS6.8 ( Gan35 ) IP Address : 192.168.31.35 ( Birdege ) 1.用rpm包安装方式搭建一个LAMP环境,并测试是否能够解析PHP页面 安装LAMP环境 检查安装包是否已安装 rpm -qa | grep httpd rpm -qa | grep mysql* rpm -qa | grep php* yum -y instal