仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 863|回复: 6
打印 上一主题 下一主题

[CentOS(社区)] 来一发CentOS下构建企业级LAMMP情况

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:33:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇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的装置与设置


  • 筹办体系情况:

[root@localhosthttpd-2.4.6]#yuminstallpcre-developenssl-devel-y





  • 装置apr

[root@localhost~]#tarxfapr-1.4.6.tar.bz2
[root@localhostapr-1.4.6]#./configure--prefix=/usr/local/httpd/apr
[root@localhostapr-1.4.6]#make&&makeinstall






  • 装置apr-util

[root@localhost~]#tarxfapr-util-1.5.2.tar.bz2
[root@localhostapr-util-1.5.2]#./configure--prefix=/usr/local/httpd/apr-util--with-apr=/usr/local/httpd/apr/
[root@localhostapr-util-1.5.2]#make&&makeinstall





  • 装置Apache


[root@localhost~]#tarxfhttpd-2.4.6.tar.bz2
[root@localhost~]#cdhttpd-2.4.6
[root@localhosthttpd-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
[root@localhosthttpd-2.4.6]#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






  • 为此剧本付与实行权限


[root@localhostinit.d]#chmod+x/etc/rc.d/init.d/httpd






  • 将httpd到场办事列表


[root@localhostinit.d]#chkconfig--addhttpd






  • 启动httpd办事


[root@localhostinit.d]#servicehttpdstart






  • 客户端会见测试




4、FastCGI的装置与设置


  • 体系情况装置


[root@localhostphp-5.4.19]#yuminstalllibxml2-developenssl-develbzip2-devellibmcrypt-devel-y






  • 装置php办事

[root@localhost~]#tarxfphp-5.4.19.tar.bz2
[root@localhost~]#cdphp-5.4.19
[root@localhostphp-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
[root@localhostphp-5.4.19]#make&&makeinstall






  • 为php供应设置文件

[root@localhostphp-5.4.19]#cpphp.ini-production/etc/php.ini






  • 为php-fpm供应Sysvinit剧本,并将其增加至办事列表

[root@localhostphp-5.4.19]#cpsapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm[root@localhostphp-5.4.19]#chmod+x/etc/rc.d/init.d/php-fpm
[root@localhostphp-5.4.19]#chkconfig--addphp-fpm
[root@localhostphp-5.4.19]#chkconfigphp-fpmon






  • 为php-fpm供应设置文件:

1
[root@localhostphp-5.4.19]#cp/usr/local/httpd/php/etc/php-fpm.conf.default/usr/local/httpd/php/etc/php-fpm.conf






  • 编纂php-fpm设置文件

[root@localhostphp-5.4.19]#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
[root@localhostphp-5.4.19]#servicephp-fpmstart






5、整合Apache与PHP办事


  • 设置Apache办事器

[root@localhostinit.d]#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






  • 设置假造主机

[root@localhostinit.d]#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办事


[root@localhosthtdoc]#servicehttpdrestart






  • 创立站点目次(注重在apache办事器和FastcGI办事器都必要创立)

[root@localhostphp-5.4.19]#mkdir-pv/web/htdoc
mkdir:createddirectory`/web
mkdir:createddirectory`/web/htdoc





  • 在FastcGI办事器上创立php测试剧本

[root@localhosthtdoc]#pwd
/web/htdoc
[root@localhosthtdoc]#cat>index.php<<EOF
><?php
>phpinfo();
>?>
>EOF
[root@localhosthtdoc]#








6、装置Mysql办事器
Mysq有三种装置体例

  • rpm包

  • 通用二进制包

  • 源码包

此处我们接纳通用二进制包装置



  • 创立Mysql数据的寄存路径

1
2
3
[root@localhost~]#mkdir-pv/mydata/data/
[root@localhost~]#
[root@localhost~]#






  • 创立Mysql用户并修正权限

1
2
3
[root@localhost~]#groupadd-rmysql
[root@localhost~]#useradd-gmysql-r-s/sbin/nologin-M-d/mydata/datamysql
[root@localhost~]#chown-Rmysql:mysql/mydata/data






  • 装置并初始化mysql

1
2
3
4
5
6
7
8
9
[root@localhost~]#tarxfmysql-5.5.33-linux2.6-x86_64.tar.gz
[root@localhost~]#mvmysql-5.5.33-linux2.6-x86_64/usr/local/
[root@localhost~]#cd/usr/local/
[root@localhostlocal]#ln-svmysql-5.5.33-linux2.6-x86_64/mysql
[root@localhostlocal]#cdmysql
[root@localhostmysql]#chown-Rmysql:mysql.
[root@localhostmysql]#scripts/mysql_install_db--user=mysql--datadir=/mydata/data
[root@localhostmysql]#chown-Rroot.
[root@localhostmysql]#






  • 为mysql供应主设置文件

1
2
3
[root@localhost~]#cd/usr/local/
[root@localhostlocal]#cdmysql
[root@localhostmysql]#cpsupport-files/my-large.cnf/etc/my.cnf





  • 修正主设置文件

1
2
3
[root@localhostmysql]#vim/etc/my.cnf
thread_concurrency=8#设置为cpu个数的2倍
datadir=/mydata/data#指定命据库文件寄存路径






  • 为mysql供应sysv办事剧本并增加到办事列表

1
2
3
4
[root@localhostmysql]#cpsupport-files/mysql.server/etc/rc.d/init.d/mysqld
[root@localhostmysql]#chmod+x/etc/rc.d/init.d/mysqld
[root@localhostmysql]#chkconfig--addmysqld
[root@localhostmysql]#chkconfigmysqldon






  • 输入mysql的man手册至man下令的查找路径

1
[root@localhostmysql]#echoMANPATH/usr/local/mysql/man>>/etc/man.config






  • 输入mysql的头文件至体系头文件路径/usr/include

<divclass="syntaxhighlighteras3ie"id="highlighter_401072">1
<divclass="container">
再见西城 该用户已被删除
沙发
发表于 2015-1-16 20:21:55 | 只看该作者

来一发CentOS下构建企业级LAMMP情况

Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。
活着的死人 该用户已被删除
板凳
 楼主| 发表于 2015-1-21 20:25:11 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
变相怪杰 该用户已被删除
地板
发表于 2015-1-30 22:36:08 来自手机 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
乐观 该用户已被删除
5#
发表于 2015-2-6 16:38:59 | 只看该作者
即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。
再现理想 该用户已被删除
6#
发表于 2015-2-17 12:50:27 | 只看该作者
我是学习嵌入式方向的,这学期就选修了这门专业任选课。
金色的骷髅 该用户已被删除
7#
发表于 2015-3-12 15:54:19 | 只看该作者
众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 05:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表