来一发CentOS下构建企业级LAMMP情况
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!1、LAMMP简介2、LAMMP项目情况简介
3、Apache的装置与设置
4、FastCGI的装置与设置
5、整合Apache与PHP办事
6、装置Mysql办事器
7、装置Memcache与libevent
8、装置Memcache基于Web办理平台
1、LAMMP简介
LAMP(Linux-Apache-MySQL-PHP)网站架构是今朝国际盛行的Web框架,该框架包含:Linux操纵体系,Apache收集办事器,MySQL数据库,Perl、PHP大概Python编程言语,一切构成产物均是开源软件,是国际上成熟的架构框架,良多盛行的贸易使用都是接纳这个架构,和Java/J2EE架构比拟,LAMP具有Web资本丰厚、轻量、疾速开辟等特性,微软的.NET架构比拟,LAMP具有通用、跨平台、高功能、低代价的上风,因而LAMP不管是功能、质量仍是代价都是企业搭建网站的首选平台。在此基本上我们增添了Memcache缓冲办事器,办理了使用步伐与数据库之间的瓶颈成绩,无效进步了会见速率,这就是LAMMP架构。
2、LAMMP项目情况简介
体系情况:Centos6.4x86-64
ApacheIP:172.16.10.1
PHPIP:172.16.10.2
MysqlIP:172.16.10.3
MemcacheIP:172.16.10.4
此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.谷歌code.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源为搜狐源,
3、Apache的装置与设置
[*]筹办体系情况:
#yuminstallpcre-developenssl-devel-y
[*]装置apr
#tarxfapr-1.4.6.tar.bz2
#./configure--prefix=/usr/local/httpd/apr
#make&&makeinstall
[*]装置apr-util
#tarxfapr-util-1.5.2.tar.bz2
#./configure--prefix=/usr/local/httpd/apr-util--with-apr=/usr/local/httpd/apr/
#make&&makeinstall
[*]装置Apache
#tarxfhttpd-2.4.6.tar.bz2
#cdhttpd-2.4.6
#./configure--prefix=/usr/local/httpd/apache--sysconfdir=/etc/httpd--enable-so--enable-ssl--enable-cgi--enable-rewrite--with-zlib--with-pcre--with-apr=/usr/local/httpd/apr--with-apr-util=/usr/local/httpd/apr-util--enable-modules=most--enable-mpms-shared=all--with-mpm=event
#make&&makeinstall
[*]供应SysV办事剧本/etc/rc.d/init.d/httpd,内容以下
#!/bin/bash
#
#httpdStartupscriptfortheApacheHTTPServer
#
#chkconfig:-8515
#description:ApacheisaWorldWideWebserver.Itisusedtoserve
#HTMLfilesandCGI.
#processname:httpd
#config:/etc/httpd/conf/httpd.conf
#config:/etc/sysconfig/httpd
#pidfile:/var/run/httpd.pid
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
if[-f/etc/sysconfig/httpd];then
./etc/sysconfig/httpd
fi
#StarthttpdintheClocalebydefault.
HTTPD_LANG=${HTTPD_LANG-"C"}
#Thiswillpreventinitlogfromswallowingupapass-phrasepromptif
#mod_sslneedsapass-phrasefromtheuser.
INITLOG_ARGS=""
#SetHTTPD=/usr/sbin/httpd.workerin/etc/sysconfig/httpdtouseaserver
#withthethread-based"worker"MPM;BEWARNEDthatsomemodulesmaynot
#workcorrectlywithathread-basedMPM;notablyPHPwillrefusetostart.
#Pathtotheapachectlscript,serverbinary,andshort-formformessages.
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/httpd/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/usr/local/httpd/apache/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
start(){
echo-n$"Starting$prog:"
LANG=$HTTPD_LANGdaemon--pidfile=${pidfile}$httpd$OPTIONS
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}
stop(){
echo-n$"Stopping$prog:"
killproc-p${pidfile}-d10$httpd
RETVAL=$?
echo
[$RETVAL=0]&&rm-f${lockfile}${pidfile}
}
reload(){
echo-n$"Reloading$prog:"
if!LANG=$HTTPD_LANG$httpd$OPTIONS-t>&/dev/null;then
RETVAL=$?
echo$"notreloadingduetoconfigurationsyntaxerror"
failure$"notreloading$httpdduetoconfigurationsyntaxerror"
else
killproc-p${pidfile}$httpd-HUP
RETVAL=$?
fi
echo
}
#Seehowwewerecalled.
case"$1"in
start)
start
;;
stop)
stop
;;
status)
status-p${pidfile}$httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if[-f${pidfile}];then
stop
start
fi
;;
reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl$@
RETVAL=$?
;;
*)
echo$"Usage:$prog{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
exit1
esac
exit$RETVAL
[*]为此剧本付与实行权限
#chmod+x/etc/rc.d/init.d/httpd
[*]将httpd到场办事列表
#chkconfig--addhttpd
[*]启动httpd办事
#servicehttpdstart
[*]客户端会见测试
4、FastCGI的装置与设置
[*]体系情况装置
#yuminstalllibxml2-developenssl-develbzip2-devellibmcrypt-devel-y
[*]装置php办事
#tarxfphp-5.4.19.tar.bz2
#cdphp-5.4.19
#./configure--prefix=/usr/local/httpd/php--with-mysql=mysqlnd--with-openssl--with-mysqli=mysqlnd--enable-mbstring--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml--enable-sockets--enable-fpm--with-mcrypt--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d--with-bz2
#make&&makeinstall
[*]为php供应设置文件
#cpphp.ini-production/etc/php.ini
[*]为php-fpm供应Sysvinit剧本,并将其增加至办事列表
#cpsapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm#chmod+x/etc/rc.d/init.d/php-fpm
#chkconfig--addphp-fpm
#chkconfigphp-fpmon
[*]为php-fpm供应设置文件:
1
#cp/usr/local/httpd/php/etc/php-fpm.conf.default/usr/local/httpd/php/etc/php-fpm.conf
[*]编纂php-fpm设置文件
#vim/usr/local/httpd/php/etc/php-fpm.conf
listen=172.16.10.2:9000#设置本机IP监听9000端口
pm.max_children=50#设置天生子历程数(设置并发量)
pm.start_servers=5#设置开机启动历程数
pm.min_spare_servers=2#设置最小余暇历程数
pm.max_spare_servers=5#设置最年夜余暇历程数
pid=/usr/local/httpd/php/var/run/php-fpm.pid#指定pid文件
error_log=log/php-fpm.log#开启日记功效
正文:
第2-6行:更具团体办事器体系功能举行调试
[*]启动php-fpm办事
1
#servicephp-fpmstart
[*]检察办事是不是已启动
5、整合Apache与PHP办事
[*]设置Apache办事器
#vim/etc/httpd/httpd.conf
LoadModuleproxy_modulemodules/mod_proxy.so
LoadModuleproxy_fcgi_modulemodules/mod_proxy_fcgi.so
Include/etc/httpd/extra/httpd-vhosts.conf#撑持假造主机
AddTypeapplication/x-httpd-php.php#增加此行
AddTypeapplication/x-httpd-php-source.phps#增加此行
DirectoryIndexindex.phpindex.html#增添index.php
[*]设置假造主机
#vim/etc/httpd/extra/httpd-vhosts.conf
<VirtualHost*:80>
DocumentRoot"/web/htdoc"
ServerNamewww.xiaodong.com
ServerAliasxiaodong.com
ProxyRequestsOff
ProxyPassMatch^/(.*.php)$fcgi://172.16.10.2:9000/web/htdoc/$1
<Directory"/web/htdoc">
Optionsnone
AllowOverridenone
Requireallgranted
</Directory>
</VirtualHost>
[*]从头启动httpd办事
#servicehttpdrestart
[*]创立站点目次(注重在apache办事器和FastcGI办事器都必要创立)
#mkdir-pv/web/htdoc
mkdir:createddirectory`/web
mkdir:createddirectory`/web/htdoc
[*]在FastcGI办事器上创立php测试剧本
#pwd
/web/htdoc
#cat>index.php<<EOF
><?php
>phpinfo();
>?>
>EOF
#
[*]客户端测试php是不是事情一般
6、装置Mysql办事器
Mysq有三种装置体例
[*]rpm包
[*]通用二进制包
[*]源码包
此处我们接纳通用二进制包装置
[*]创立Mysql数据的寄存路径
1
2
3
#mkdir-pv/mydata/data/
#
#
[*]创立Mysql用户并修正权限
1
2
3
#groupadd-rmysql
#useradd-gmysql-r-s/sbin/nologin-M-d/mydata/datamysql
#chown-Rmysql:mysql/mydata/data
[*]装置并初始化mysql
1
2
3
4
5
6
7
8
9
#tarxfmysql-5.5.33-linux2.6-x86_64.tar.gz
#mvmysql-5.5.33-linux2.6-x86_64/usr/local/
#cd/usr/local/
#ln-svmysql-5.5.33-linux2.6-x86_64/mysql
#cdmysql
#chown-Rmysql:mysql.
#scripts/mysql_install_db--user=mysql--datadir=/mydata/data
#chown-Rroot.
#
[*]为mysql供应主设置文件
1
2
3
#cd/usr/local/
#cdmysql
#cpsupport-files/my-large.cnf/etc/my.cnf
[*]修正主设置文件
1
2
3
#vim/etc/my.cnf
thread_concurrency=8#设置为cpu个数的2倍
datadir=/mydata/data#指定命据库文件寄存路径
[*]为mysql供应sysv办事剧本并增加到办事列表
1
2
3
4
#cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld
#chmod+x/etc/rc.d/init.d/mysqld
#chkconfig--addmysqld
#chkconfigmysqldon
[*]输入mysql的man手册至man下令的查找路径
1
#echoMANPATH/usr/local/mysql/man>>/etc/man.config
[*]输入mysql的头文件至体系头文件路径/usr/include
<divclass="syntaxhighlighteras3ie"id="highlighter_401072">1
<divclass="container">
来一发CentOS下构建企业级LAMMP情况
Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。 硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。 Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。 即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。 我是学习嵌入式方向的,这学期就选修了这门专业任选课。 众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
页:
[1]