LAMMP简介:
L:即Linux操作系统,linux是一款非常稳定、安全的操作系统,并以开源著称。适用于服务器。
A:即Apache,一款提供WEB服务的开源软件,是一个非常稳定、安全、高度模块化、支持模块动态扩展的Web服务器,是搭建Web服务器的首选之一。
M:即mysql,mysql是一款数据库管理系统软件,同时也是一款开源软件。
M:即memcached,Memcached是一个开源的、高性能、分布式内存对象缓存系统,应用于各种需要缓存的场景,主要作用是通过降低对Database的访问来加速web应用程序。Memcached是基于内存的键值对存储。
P:即PHP,一种面向对象编程语言。
LAMMP架构拓扑示例:
LAMMP架构是分别搭建在不同的服务器上面。在实际环境中,如果一台服务器提供多种应用,那服务器的资源消耗会大的不敢想象,提供服务的性能也会降低。而采用此种构架,由于各服务是安装在不同的主机上的,因此服务器的服务性能将得到很大提高。
图示架构中各服务器的工作
Apache服务器响应并回复用户的请求
FastCGI把php程序执行的结果响应给Apache
Memcached根据用户请求的动态网页文件中是否需要Memcached服务器缓存数据,做出相应响应。Memcached是把数据存储在内存中的,因此速度会很快。
Mysql响应用户是否需写入查询数据用户的请求资源到获取资源的过程。
LAMMP源码包下载:http://t.cn/8FjDwCv
LAMMP实现:
准备系统环境:
yum --disablerepo=\* --enablerepo=c6-media groupinstall "Development tools" yum --disablerepo=\* --enablerepo=c6-media install pcre-devel yum --disablerepo=\* --enablerepo=c6-media install libxml2-devel yum --disablerepo=\* --enablerepo=c6-media install telnet
一、Apache&PHP服务器搭建
1、安装apr
tar -zxvf apr-1.4.6.tar.gz -C /usr/local/src/ cd /usr/local/src/apr-1.4.6 ./configure --prefix=/usr/local/apr make && make install
2、安装apr-util
tar -zxvf apr-util-1.5.1.tar.gz -C /usr/local/src/ cd /usr/local/src/apr-util-1.5.1 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1=config make && make install
3、安装httpd
tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/ cd /usr/local/src/httpd-2.4.4 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --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=event make && make install
进入/etc/init.d目录下,touch一个新文件,并编写httpd的启动脚本。
#!/bin/bash #指明shell prog=/usr/local/apache/bin/httpd lockfile=/var/lock/subsys/httpd.lock # chkconfig:2345 85 65 #设置开机启动顺序 # description:I'm HTTP Server #简单描述 start () { if [ -e $lockfile ];then echo "httpd is started" else echo -n "httpd is starting...... " sleep 1 $prog -k start && echo "OK" && touch $lockfile || echo "fail" fi } stop () { if [ ! -e $lockfile ];then echo "httpd is stoped" else echo -n "httpd is stoping...... " sleep 1 $prog -k stop && echo "OK" && rm -rf $lockfile || echo "fail" fi } status () { if [ -e $lockfile ];then echo "httpd is running" else echo "httpd is stoped" fi } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo "Usage:start|stop|restart|status" esac
脚本编写完毕后赋予文件可执行权限并加入开机启动。
chmod a+x httpd chkconfig --add httpd chkconfig httpd on chkconfig --list |grep httpd #确认结果
4、安装php
mkdir -pv /etc/php /etc/php5.d tar -jxvf php-5.5.8.tar.bz2 -C /usr/local/src cd /usr/local/src/php-5.5.8 ./configure --prefix=/usr/local/php --enable-fpm --enable-sockets --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mbstring --enable-xml --with-png-dir --with-jpeg-dir --with-zlib --with-freetype-dir --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php5.d make && make install
切换到拆解后目录,拷贝php配置文件。
cp php.ini-development /etc/php/php.ini
把/usr/local/src/php-5.5.8/sapi/fpm目录下的这两个文件拷贝走。
cp init.d.php-fpm /etc/init.d/php-fpm
chmod a+x /etc/init.d/php-fpm
切换到/usr/local/php/etc/目录下
cp php-ftp.conf.default php-ftp.conf
启动服务,成功后也将php加入开机启动项,并确定服务端口处于监听状态.
chkconfig --add php-fpm chkconfig php-fpm on chkconfig --list |grep fpm
5、整合Apache与PHP.编辑Apache的配置文件,修改配置.
重启服务,使配置文件生效.做一个小的测试.切换到/usr/local/apache/htdocs目录下,touch一个新文件index.php,编写内容:
<?php phpinfo (); ?>
OK,在浏览器地址栏中输入服务器的地址,查看结果.
6、安装xcache
tar -zxvf xcache-3.1.0.tar.gz -C /usr/local/src/ cd /usr/local/src/xcache-3.1.0/ /usr/local/php/bin/phpize ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config make && make install cp xcache.ini /etc/php5.d/
编辑/etc/php5.d/xcache.ini,把xcache的模块路径写进文件中。完成后重启服务并检测结果。
7、安装memcache
tar -zxvf memcache-2.2.7.tgz -C /usr/local/src/ cd /usr/local/src//memcache-2.2.7/ /usr/local/php/bin/phpize ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config make && make install
编辑/etc/php5.d/xcache.ini文件,将memcache的模块路径写入配置文件。
二、安装Mysql Server
系统在安装的时候可能已经安装过MySQL了,等咱们这个MySQL安装完成后启动的时候可能启动是系统安装的那个MySQL,因此需要将之前的MySQL卸载掉,如果你的系统中没有安装的话那就不用担心这一步了。
tar -zxvf mysql-5.5.35-linux2.6-i686.tar.gz -C /usr/local/src/ groupadd mysql useradd -r -g mysql mysql cd /usr/local ln -s mysql-5.5.35-linux2.6-i686/ mysql cd mysql chown -R mysql . chgrp -R mysql . scripts/mysql_install_db --user=mysql chown -R root . chown -R mysql data cp support-files/my-medium.cnf /etc/my.cnf cp support-files/mysql.server /etc/init.d/mysqld chmod a+x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on
指定库文件路径,编辑/etc/ld.so.conf.d/mysqlconf文件,把mysql的库文件路径写入文件中。
指定man手册路径
修改PATH变量路径
启动MySQL服务.
mysqladmin -u root -p password '***' #配置MySQL登录密码
由于各服务器分布地理位置不同,为满足对数据库的访问,需要在数据库中建立账号并给予可登陆权限.
三、安装memcached
1、安装libevent
tar -zxvf libevent-2.0.21-stable.tar.gz -C /usr/local/src/ cd /usr/local/src/libevent-2.0.21-stable ./configure --prefix=/usr/local/libevent make && make install
编辑/etc/ld.so.conf.d/libevent文件,将libevent的库文件路径写入文件中,方便系统读取.
2、安装memcached
tar -zxvf memcached-1.4.17.tar.gz -C /usr/local/src/ cd /usr/local/src/memcached-1.4.17 ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/ make && make install cd /usr/local/memcached/bin ./memcached -u nobody -m 512m -d #启动memcached
启动后查看服务状态并连接测试.
四、测试PHP与MySQL通过Memcached链接,切换到/usr/local/apache/htdocs/目录下,touch一个新文件,编写脚本.完成后在浏览器的地址栏中输入服务器的地址后要加刚刚创建的文件名,这样才能访问到.
<?php error_reporting(E_ALL & ~E_NOTICE); #报告错误 $mc = new memcache; #客户端工具为memcache $mc->addServer("192.168.3.102", 11211); #memcached服务器地址 $mc->set("foo", "Hello!"); #set一个键与值 $mc->set("bar", "Memcached..."); $arr = array( $mc->get("foo"), #再get出来 $mc->get("bar") ); var_dump($arr); #显示数组内容 ?>
缺少了一个应用实例,这个后期会补上。本人也是刚刚接触Linux,可能博客中有很多纰漏、不足或者严重的错误,希望各位博友提醒指正。一起进步.