柔情似水 发表于 2015-1-16 13:31:16

给大家带来linux服务器体系中手动设置lamp服务器的履历分享

给你装的系统里为ubuntu12.04,它已经封装的很臃肿了,但是考虑到你没有很多时间投入其中,所以给你装了它,但是怎么用它提高开发效率,需要你在学习的过程中不断总结;
LAMP是Linux、Apache、MySQL、PHP/Perl/Python的简称。它所构成的各组件都是开源软件,因而很便利自在的猎取,招致这些组件的普遍利用,其实不断完美开展,开端构成新的软件体系格式,并大概成为开源软件体系工程化的中心形式。
  要安装对照新的httpd我们就必需安装对照新的apr。红帽6上就不必要再指定安装apr了,由于它默许安装的版本对照新。可是我们这里利用的是红帽5.8的版本,它给我们安装的apr版本有点老,我们要安装新版本的apr,是否是老版本的apr就要卸载了呢?这不是的,老版本万万不克不及卸载,大概会有依附;那晋级呢?也是不可的,晋级后老版本也是会没的。那有的伴侣该问了,那两个版本在是否是该有抵触了。我们只能利用多版本并存的机制,只需把编译安装的新版本和老版本安装在分歧的中央就能够了。
  Rpm包安装:/bin,/sbin,/usr/bin,/usr/sbin####二进制地点地位/lib,/usr/lib####库文件地点地位/etc####设置文件地点地位/usr/share/{doc,man}####匡助文档/手册编译安装:/usr/local/####界说安装第三方软件包bin,sbin####二进制地点地位lib####库文件地点地位etc####设置文件地点地位share/{doc,man}####匡助文档/手册
  我们如许安装,看上往还算工致,可是我们还要想到到时分如果想要卸载某个软件怎样办?还要一个一个的找吗?那不就变贫苦了。以是我们如许调剂,就是界说安装第三方软件包仍旧放在/usr/local/下,而且还要创立以软件名定名的目次(为了好找),然后把它有关的文件都放在这个目次上面。可是如许安装又呈现了成绩,它的二进制程序不在PATH情况内里,那就不克不及间接实行命令了,那就修正PATH变量;还要修正库文件搜刮路径;还要修正man的设置文件等。
  比方:/usr/local/apr/
  bin,sbin,lib,includes,etc,share/man
  上面我们就入手下手手动设置apr及apr-util,而且怎样安装httpd。(提醒:这里要下载源程序包)
  第一步:安装开辟情况
  第二步:安装apr源程序
  我们这里是在我们的服务器高低载的,人人如果做的话往官方网站(apr.apache.org)高低载源程序包,我们这里将它们放到了主目次上面。假如不想放到这里的话能够放到/usr/local/src上面,这里专门放源码的。上面我们就筹办安装apr【提醒:假如你体系的工夫比下载源码包的工夫还要早的话,如许是会堕落的。假如工夫不合错误的话能够用hwclockCs,如许将软件工夫同步为硬件工夫。】
  上面我们就要将软件举行解压落后行安装。安装完成后第一个包就装好了。
  #make#makeinstall
  第三步:安装apr-util
  安装apr-util和我们安装apr是一样的。不外它指定路径的时分还要指定apr装在甚么中央,假如不指定的话,它会主动找老版本的(05行最初面的白色就是指定的apr安装路径)。
  #tarxfapr-util-1.5.2.tar.bz2#cdapr-util-1.5.2#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr#make#makeinstall
  第四步:安装httpd
  在安装httpd之前我们还要安装一个模块,这个模块是pcre。除设置那些模块另有大概会用到--enableCdeflate设置紧缩模块的.--enableCexpires过时首部把持。假如要以fastCGI形式事情的话必需启用―enable-proxy-fcgi。这里我们是以模块的体例事情,临时不必启用。--enable-mpms-shared=all在版本2.2中是没有的,可是在版本2.4中就有了。Apache是撑持MPM(躲各处理模块)有三种情势,prefork,worker,event。撑持哪种在编译的时分已断定了。在2.4的时分以模块化的体例利用MPM,也就是能够同时将这三种模块一并写出去用哪一个能够切换哪一个。听起来十分棒,可是PHP以模块化体例给MPM分离的时分,假如利用prefork,PHP很复杂。可是你利用的是worker或event我们的PHP必需编译成ZTS格局,假如你想天真利用的话,还要编纂两次PHP。在2.2默许MPM是prefork,在2.4默许的MPM是event。--with-mpm=MPM指定哪个为默许。【提醒:具体内容就在图中】
  #tarxfhttpd-2.4.4.tar.bz2#cdhttpd-2.4.4#yum-yinstallpcre-devel####安装pcre模块
  #./configure--prefix=/usr/local/apache--sysconfdir=/etc/httpd--enable-so--enable-rewirte--enable-ssl--enable-cgi--enable-cgid--enable-modules=most--enable-mods-shared=most--enable-mpms-shared=all--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util
  第五步:封闭selinux
  之以是将这一项作为一年夜步来讲是由于封闭selinux,不封闭的话,你的服务器启动不了。默许基础上是开启的,我们要把它给关失落。
  1、临时性的封闭
  2、永世性封闭
  #vim/etc/selinux/config
  第六步:启动web服务器
  在/usr/local/paache上面有一个剧本能够启动服务,剧本称号为bin/apachectl。
  这里给人人说一下/usr/local/apache内里的内容,特地把网页的内容增加helloapache,这时候候我们检察一下。
  第七步:将.pid文件放到/var/run下
  我们一样平常都是将天生的.pid文件放到/var/run上面的,可是这里的.pid文件都放到了/usr/local/apache/logs上面,可是我们的/logs/上面都是放日记的,放这些.pid文件明显是分歧适的,我们这里编纂设置文件(/etc/httpd/httpd.conf)将它的.pid文件都天生到/var/run上面。我们在设置文件中增加的内容是:PidFile"/var/run/httpd.pid"。【提醒:我们还能够考证,当你没有输出这些内容的时分,封闭服务器(bin/apachectlstop)我们再用netstatCtnlp检察一下80端口,已不再处于监听形态,我们在检察一下logs上面已没有了.pid文件。这时候候在设置文件中增加PidFile"/var/run/httpd.pid",我们发明.pid文件已放到了/var/run/上面了,而且名字为httpd.pid。】
  第八步:启动便利
  我们这时候候固然能启动起来可是启动老是那末的不便利,这时候候我们就要写剧本来让它便利起来了。将文件放在/etc/init.d/httpd内里,编纂完成后给它权限就好了,间接启动就好了。接上去我们让它开机后主动启动起来。
  #vim/etc/init.d/httpd#chmod+x/etc/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/functionsif[-f/etc/sysconfig/httpd];then./etc/sysconfig/httpdfi#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/apachectlhttpd=${HTTPD-/usr/local/apache/bin/httpd}prog=httpdpidpold=${PIDFILE-/var/run/httpd.pid}lockpold=${LOCKFILE-/var/lock/subsys/httpd}RETVAL=0start(){echo-n$"Starting$prog:"LANG=$HTTPD_LANGdaemon--pidpold=${pidfile}$httpd$OPTIONSRETVAL=$?echo[$RETVAL=0]&&touch${lockfile}return$RETVAL}stop(){echo-n$"Stopping$prog:"killproc-p${pidfile}-d10$httpdRETVAL=$?echo[$RETVAL=0]&&rm-f${lockfile}${pidfile}}reload(){echo-n$"Reloading$prog:"if!LANG=$HTTPD_LANG$httpd$OPTIONS-t>&/dev/null;thenRETVAL=$?echo$"notreloadingduetoconfigurationsyntaxerror"failure$"notreloading$httpdduetoconfigurationsyntaxerror"elsekillproc-p${pidfile}$httpd-HUPRETVAL=$?fiecho}#Seehowwewerecalled.case"$1"instart)start;;stop)stop;;status)status-p${pidfile}$httpdRETVAL=$?;;restart)stopstart;;condrestart)if[-f${pidfile}];thenstopstartfi;;reload)reload;;graceful|help|configtest|fullstatus)$apachectl$@RETVAL=$?;;*)echo$"Usage:$prog{start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"exit1esacexit$RETVAL
  第九步:安装mysql
  从下面的按次可看出,上面我们将要演示MySQL安装历程,这里我们先利用5.5这个版本是怎样安装的,转头再讲5.6的安装历程。人人要演示的话到mysql的官方网站上往下载(www.mysql.com)。这里就从如何安装入手下手讲起。这个时分我们就能够解压【官方请求:可是我们必需要将mysql放到/usr/local上面,而且目次称号还必需是mysql】,紧缩已往后,我们是重定名仍是利用毗连?这里最好利用的是毗连,如许的它的版本号另有平台这些字符创城市保存着,简单辨认正在利用的是甚么版本的。
  #tarxfmysql-5.5.28-linux2.6-i686.tar.gz-C/usr/local####因为包有点年夜以是速率有点慢#ln-svmysql-5.5.28-linux2.6-i686/mysql####创立毗连
  对我们而言,要想初始化安装mysql,我们就要利用mysql用户mysql组,而且还不克不及让它登录(不创立家目次)。
  实践上在mysql内里有个文件是INSTALL-BINARY,这个文件内里申明了是怎样安装的,这里给人人解说一下,上面就给人人演示一下怎样往安装mysql的。
  这里我们就能够变动mysql的权限了,变动权限后我们先检察一下scripts上面的剧本,这个剧本是举行初始化的,内里也是有良多选项的,有个选项是―datadir=path,我们要将数据别的保留在甚么中央,我们用rpm包安装默许在/var/lib/mysql。我们用编纂的体例安装mysql,它默许都放在/usr/local/mysql/data上面。我们如果把数据放在软件安装路径上面可不是好的选择,我们要给它另找路径,我们晓得这个数据是不休变年夜的,我们最好把它放到逻辑卷中,如许等数据很年夜的时分我们能够用扩大逻辑卷的体例持续寄存数据。这里我们先创立一个20G的逻辑分区,将其设置成逻辑卷范例。
  #chown-Rmysql.mysql/usr/local/mysql/*#fdisk/dev/sda#pvcreate/dev/sda5####创立物理卷#vgcreatemyvg/dev/sda5####创立卷组#lvcreate-nmydata-L5Gmyvg####创立5G的逻辑卷#mke2fs-j/dev/myvg/mydata####格局化为ext3格局#mkdir/mydata####创立文件夹#vim/etc/fstab####开机主动挂载/dev/myvg/mydata/mydataext3defaults00#mountCa
  假如把mydata作为数据目次的话,未来一切文件将间接放到这个分区上了,为了便于办理我们在创建一个子目次data。它的属主属组应当是mysql,但如今是root,以是我们还要变动属主属组。而且其他用户也是不克不及随便检察的。
  #mkdir/mydata/data#chown-Rmysql.mysql/mydata/data####变动属主、属组#chmodo-rx/mydata/data####变动其他用户的权限
  这个时分我们就能够实行剧本了,举行初始化。为了平安起见,初始化完成后我们要将mysql上面的属主改成root。【提醒:假如你利用的是默许的data,那你还要将data的属主改成mysql,而我们是又创立的文件寄存数据,以是这里就不必改了】
  #scripts/mysql_install_db--user=mysql--datadir=/mydata/data#chown-Rroot/usr/local/mysql/*
  第十步:启动mysql
  我们这时候候是没有剧本的,以是不克不及用servicemysqldstart。可是mysql给我们供应的有剧本,在support-files上面有个文件叫mysql.server,这就是它的剧本,我们只必要将它复制已往就好了。
  这个时分我们还不克不及启动mysql,由于我们还没有设置设置文件,mysql找设置文件的时分先往找/etc/my.cnf,再往找/etc/mysql/my.cnf,找完这里还往找$BNSEDIR/my.cnf。有人问$BNSEDIR是甚么?一样平常来说就是你的安装目次。上面还往找~/.my.cnf。找完后假如有抵触怎样办?这里就是以最初一个为准(后一个会掩盖前一个)。我们到support-files目次当选择一个设置文件,个中我们要选择符合的,我们就以准确的作为例子,我们这里检察一下文件中的内存是不是为我们符合的内存。这里我们选择my-large.cnf,由于我们的内存是512M的,以是这里我们就选择它了。然后我们将它复制到/etc/上面,并定名为my.cnf,然后编纂设置文件。最初启动sericemysqldstart。
  #cpsupport-files/my-large.cnf/etc/my.cnf#vim/etc/my.cnf
  #servicemysqldstart
  我们编译的时分服务器端和客户真个mysql都装了,我们这里的mysql的二进制也装了,可是找不到,以是我们要给它一个路径如许就好了,这里我们登录一下mysql,了局以下。
  #vim/etc/profile.d/mysql.sh
  exportPATH=$PATH:/usr/local/mysql/bin
  第十一步:安装php
  这里我们入手下手安装php,人人往php的官网(http://php.net/downloads.php)下载安装包,php有良多功效都要依附于你体系上的某些功效的,它能够给我们静态天生图片,可是它要依附于图片库,假如以后体系上没有图片库,它就没法利用这个功效。这里我们就先解压,解压后我们就能够设置了。
  #tarxfphp-5.4.13.tar.bz2#cdphp-5.4.13
  #./configure--prefix=/usr/local/php--with-mysql=/usr/local/mysql--with-openssl--with-mysqli=/usr/local/mysql/bin/mysql_config--enable-mbstring--with-freetype-dir--with-jpeg-dir--with-png-dir--with-zlib--with-libxml-dir=/usr--enable-xml--enable-sockets--with-apxs2=/usr/local/apache/bin/apxs--with-mcrypt--with-config-file-path=/etc--with-config-file-scan-dir=/etc/php.d--with-bz2--enable-maintainer-zts
  详解:--prefix=/usr/local/php####安装目次--with-mysql=/usr/local/mysql####mysql的地位--with-openssl####是不是撑持openssl功效--with-mysqli=/usr/local/mysql/bin/mysql_config####php与mysql交互的另外一个接口(是个二进制程序)--enable-mbstring####撑持中文(非单个字节暗示的言语)--with-freetype-dir####撑持fretype功效(fretype是完成援用分歧字体的)--with-jpeg-dir####撑持jpg格局的图片--with-png-dir####撑持png格局的图片--with-zlib####撑持通用格局的紧缩库--with-libxml-dir=/usr####xml的库的地位--enable-xml####撑持扩大标志言语--enable-sockets####撑持基于套接字的通讯--with-apxs2=/usr/local/apache/bin/apxs####将它编译成apache的模块--with-mcrypt####撑持加密功效的--with-config-file-path=/etc####php文件寄存的目次(主设置文件为php.ini)--with-config-file-scan-dir=/etc/php.d####主设置文件有良多片断放的地位(格局是.ini)--with-bz2####撑持紧缩库--enable-maintainer-zts####次要取决于apache的范例(为prefork不必,利用event或worker必要要用)假如apache以线程体例事情必需编译成这类格局
  这里实行后大概会呈现毛病,由于它所依附的另有其余库文件不存在,这里我们手动办理依附干系就好了。我们检察图片呈现了毛病,它说你没有安装mcrypt相干的软件包,加密不了了。有两种办理计划:1、不合用加密功效把--with-mcrypt给往了。2、利用加密功效,安装mcrypt相干的包。我们这里利用第二中计划。这里我们必要安装四个软件包,一个是mhash,一个是mhash-devel,一个是libmcrypt,最初一个是libmcrypt-devel。
  这几个软件包往rpmfind.net下面搜刮,内里有良多版本的,我们这里选定的是mhash-0.9.2-6.el5.i386.rpm和mhash-devel-0.9.2-6.el5.i386.rpm。然后我们再上彀高低载libmcrypt-2.5.7-5.el5.i386.rpm,libmcrypt-devel-2.5.7-5.el5.i386.rpm软件包,然后解压。解压完成后我们就能够再次实行./configure了。实行完成后我们就能够make和makeinstall。
  第十二步:供应设置文件
  Php的设置文件对照共同,在/etc/php.ini。php-5.4.13上面有两个文件,一个是php.ini-development用户开辟情况的,另外一个是php.ini-production用于临盆情况的。我们用于临盆情况的,把php.ini-production复制到/etc/下并定名为/php.ini。上面我们就说一说怎样让apache和php分离起来事情。次要修正apache的设置文件来完成。编纂apache的设置文件,让apache处置php开头的页面文件,既然我们可以撑持php了,我们主页面也应当有以php开头的页面了。
  #cpphp.ini-production/etc/php.ini#vim/etc/httpd/httpd.conf
  上面我们要进进网页默许目次,然后修正index.html,变动为index.php格局的。然后编纂内容,我们这里用php毗连mysql,然落后行测试,我们在把mysql封闭(servicemysqldstop)然后在举行测试。
  #cd/usr/local/apache/htdocs#mvindex.htmlindex.php#vimindex.php
  #servicemysqldstop
  第十三步:设置xcache
  上面我们就完成怎样让我们的php撑持假造主机,可是在撑持假造主机之前,我们先让我们的php可以利用xcache,对php和opcod举行减速。这里我们间接下载好了,人人做了上彀高低载(http://xcache.lighttpd.net/)。我们这里利用的是xcache-2.0版本。xcache的安装对照共同,由于xcache是php的模块正确的说是php的扩大,我们起首要利用php的命令来加载这个扩大,要辨认这个扩大。Phpize意义是筹办好一个扩大以便举行编译的。Php-config是可以猎取php的设置信息,和编译时分所利用的选项信息的【提醒:可以和php-5.4分离事情的只撑持xcache2.0及其今后的版本】
  #tarxfxcache-2.0.0.tar.bz2#cdxcache-2.0.0#/usr/local/php/bin/phpize####【提醒:几近一切扩大在安装之前都要实行这个命令的。】#./configure--enable-xcache--with-php-config=/usr/local/php/bin/php-config--enable-xcache####启用xcache功效--with-php-config=/usr/local/php/bin/php-config####php的设置命令#make
  安装完成后会在xcache-2.0.0目次上面天生一个文件叫xcache.ini。要想php可以撑持xcache这个功效,那就意味着把xcache的设置信息必需要供应到php内里往,以是我们要把xcache.ini追加到php内里往,大概直径将xcache.ini间接复制到php.d上面,不外这个php.d目次是我们手动创立的,复制完成后我们要举行编纂,我们这里只把经常使用的给列了出来,我们应当重启才干失效,这里要重启web,由于它的模块是被web加载的。我们还必要在/usr/local/apache/htdocs/index.php增加一项“phpinfo();“,我们在测试一下,因而可知xcache事情起来了。
  #mkdir/etc/php.d#cpxcache.ini/etc/php.d#vim/etc/php.d/xcache.ini
  ####xcache的办理功效xcache.admin.enable_auth=On####办理功效认证翻开xcache.admin.user="mOo"####办理用户是甚么;xcache.admin.pass=md5($your_password)####用md5加密的体例加暗码xcache.admin.pass=""####办理暗码是甚么xcache.shm_scheme="mmap"####利用哪一种体例来共享内存,“mmap”内存映照(一个内存可让多个历程同时会见)xcache.size=60M####用于缓存opcode代码的空间有多年夜(可修正的)xcache.count=1####设置你的CPU个数xcache.slots=8K####在缓存傍边,有几个槽位来缓存opcode,而且每一个槽位是多年夜xcache.ttl=0####过时工夫,0暗示永不外期xcache.gc_interval=0####过时的时分都清算进来,我们的渣滓接纳器多长工夫事情一次,0暗示永不事情
  #servicehttpdrestart#vim/usr/local/apache/htdocs/index.php

vim除非你打算真正的学好linux,或者说打算长久时间学习他,而且肯花大量时间vim,否则,最好别碰

冷月葬花魂 发表于 2015-1-18 10:33:35

要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。

老尸 发表于 2015-1-23 16:32:24

熟读Linux系统有关知识,如系统目录树,有关内容可购书阅读或搜索论坛。

谁可相欹 发表于 2015-1-31 19:01:26

一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。

莫相离 发表于 2015-2-6 23:40:25

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

简单生活 发表于 2015-2-19 05:58:54

其中不乏很多IT精英的心血。我们学透以后更可以做成自己的OS!?

蒙在股里 发表于 2015-3-6 13:35:30

linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!

仓酷云 发表于 2015-3-13 02:09:27

Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。

精灵巫婆 发表于 2015-3-20 10:19:29

Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
页: [1]
查看完整版本: 给大家带来linux服务器体系中手动设置lamp服务器的履历分享