當(dāng)前位置: 首頁IT技術(shù) → 手動(dòng)配置lamp服務(wù)器的圖文教程

手動(dòng)配置lamp服務(wù)器的圖文教程

更多

LAMP是Linux、Apache、MySQL、PHP/Perl/Python的簡稱。它所組成的各組件都是開源軟件,因此很方便自由的獲取,導(dǎo)致這些組件的廣泛使用,并不斷完善發(fā)展,初步形成新的軟件系統(tǒng)格局,并可能成為開源軟件系統(tǒng)工程化的核心模式。

要安裝比較新的httpd我們就必須安裝比較新的apr。紅帽6上就不需要再指定安裝apr了,因?yàn)樗J(rèn)安裝的版本比較新。但是我們這里使用的是紅帽5.8的版本,它給我們安裝的apr版本有點(diǎn)老,我們要安裝新版本的apr,是不是老版本的apr就要卸載了呢?這不是的,老版本千萬不能卸載,可能會有依賴;那升級呢?也是不行的,升級后老版本也是會沒的。那有的朋友該問了,那兩個(gè)版本在是不是該有沖突了。我們只能使用多版本并存的機(jī)制,只要把編譯安裝的新版本和老版本安裝在不同的地方就可以了。

  1. Rpm包安裝: 
  2.  
  3.        /bin, /sbin, /usr/bin, /usr/sbin ####二進(jìn)制所在位置 
  4.  
  5.        /lib, /usr/lib ####庫文件所在位置 
  6.  
  7.        /etc ####配置文件所在位置 
  8.  
  9.        /usr/share/{doc,man}####幫助文檔/手冊 
  10.  
  11. 編譯安裝: 
  12.  
  13.       /usr/local/ ####定義安裝第三方軟件包 
  14.  
  15.               bin, sbin ####二進(jìn)制所在位置 
  16.  
  17.               lib ####庫文件所在位置 
  18.  
  19.               etc ####配置文件所在位置 
  20.  
  21.               share/{doc,man} ####幫助文檔/手冊 

我們這樣安裝,看上去還算工整,但是我們還要想到到時(shí)候要是想要卸載某個(gè)軟件怎么辦?還要一個(gè)一個(gè)的找嗎?那不就變麻煩了。所以我們這樣調(diào)整,就是定義安裝第三方軟件包依舊放在/usr/local/下,并且還要?jiǎng)?chuàng)建以軟件名命名的目錄(為了好找),然后把它有關(guān)的文件都放在這個(gè)目錄下面。但是這樣安裝又出現(xiàn)了問題,它的二進(jìn)制程序不在PATH環(huán)境里面,那就不能直接執(zhí)行命令了,那就修改PATH變量;還要修改庫文件搜索路徑;還要修改man的配置文件等。

例如:    /usr/local/apr/

              bin, sbin, lib, includes, etc, share/man

下面我們就開始手動(dòng)配置apr及apr-util,并且如何安裝httpd。(提示:這里要下載源程序包)

第一步:安裝開發(fā)環(huán)境

第二步:安裝apr源程序

我們這里是在我們的服務(wù)器上下載的,大家要是做的話去官方網(wǎng)站(apr.apache.org)上下載源程序包,我們這里將它們放到了主目錄下面。如果不想放到這里的話可以放到/usr/local/src下面,這里專門放源碼的。下面我們就準(zhǔn)備安裝apr【提示:如果你系統(tǒng)的時(shí)間比下載源碼包的時(shí)間還要早的話,這樣是會出錯(cuò)的。如果時(shí)間不對的話可以用hwclock –s,這樣將軟件時(shí)間同步為硬件時(shí)間!

下面我們就要將軟件進(jìn)行解壓后進(jìn)行安裝。安裝完成后第一個(gè)包就裝好了。

  1. [root@localhost apr-1.4.6]# make 
  2.  
  3. [root@localhost apr-1.4.6]# make install 

第三步:安裝apr-util

安裝apr-util和我們安裝apr是一樣的。不過它指定路徑的時(shí)候還要指定apr裝在什么地方,如果不指定的話,它會自動(dòng)找老版本的(05行最后面的紅色就是指定的apr安裝路徑)。

  1. [root@localhost ~]# tar xf apr-util-1.5.2.tar.bz2 
  2.  
  3. [root@localhost ~]# cd apr-util-1.5.2 
  4.  
  5. [root@localhost apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 
  6.  
  7. [root@localhost apr-util-1.5.2]# make 
  8.  
  9. [root@localhost apr-util-1.5.2]# make install 

第四步:安裝httpd

在安裝httpd之前我們還要安裝一個(gè)模塊,這個(gè)模塊是pcre。除了配置那些模塊還有可能會用到--enable –deflate配置壓縮模塊的. --enable –expires過期首部控制。如果要以fastCGI模式工作的話必須啟用—enable-proxy-fcgi。這里我們是以模塊的方式工作,暫時(shí)不用啟用。--enable-mpms-shared=all在版本2.2中是沒有的,但是在版本2.4中就有了。Apache是支持MPM(躲到處理模塊)有三種形式,prefork,worker,event。支持哪一種在編譯的時(shí)候已經(jīng)確定了。在2.4的時(shí)候以模塊化的方式使用MPM,也就是可以同時(shí)將這三種模塊一并寫進(jìn)來用哪個(gè)可以切換哪個(gè)。聽起來非常棒,但是PHP以模塊化方式給MPM結(jié)合的時(shí)候,如果使用prefork,PHP很簡單。但是你使用的是worker或event我們的PHP必須編譯成ZTS格式,如果你想靈活使用的話,還要編輯兩次PHP。在2.2默認(rèn)MPM是prefork ,在2.4默認(rèn)的MPM是event。--with-mpm=MPM 指定哪一個(gè)為默認(rèn)。【提示:詳細(xì)內(nèi)容就在圖中】

  1. [root@localhost ~]# tar xf httpd-2.4.4.tar.bz2 
  2.  
  3. [root@localhost ~]# cd httpd-2.4.4 
  4.  
  5. [root@localhost httpd-2.4.4]# yum -y install pcre-devel ####安裝pcre模塊 
  1. [root@localhost httpd-2.4.4]# ./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 

第五步:關(guān)閉selinux

之所以將這一項(xiàng)作為一大步來說是因?yàn)殛P(guān)閉selinux,不關(guān)閉的話,你的服務(wù)器啟動(dòng)不了。默認(rèn)基本上是開啟的,我們要把它給關(guān)掉。

1、暫時(shí)性的關(guān)閉

2、永久性關(guān)閉

  1. [root@localhost httpd-2.4.4]# vim /etc/selinux/config 

第六步:啟動(dòng)web服務(wù)器

在/usr/local/paache下面有一個(gè)腳本可以啟動(dòng)服務(wù),腳本名稱為bin/apachectl。

這里給大家說一下/usr/local/apache里面的內(nèi)容,順便把網(wǎng)頁的內(nèi)容添加hello apache,這時(shí)候我們查看一下。

第七步:將.pid文件放到/var/run下

我們一般都是將生成的.pid文件放到/var/run下面的,但是這里的.pid文件都放到了/usr/local/apache/logs下面,但是我們的/logs/下面都是放日志的,放這些.pid文件顯然是不合適的,我們這里編輯配置文件(/etc/httpd/httpd.conf)將它的.pid文件都生成到/var/run下面。我們在配置文件中添加的內(nèi)容是:PidFile "/var/run/httpd.pid"。【提示:我們還可以驗(yàn)證,當(dāng)你沒有輸入這些內(nèi)容的時(shí)候,關(guān)閉服務(wù)器(bin/apachectl stop)我們再用netstat –tnlp查看一下80端口,已經(jīng)不再處于監(jiān)聽狀態(tài),我們在查看一下logs下面已經(jīng)沒有了.pid文件。這時(shí)候在配置文件中添加PidFile "/var/run/httpd.pid",我們發(fā)現(xiàn).pid文件已經(jīng)放到了/var/run/下面了,并且名字為httpd.pid。】

第八步:啟動(dòng)方便

我們這時(shí)候雖然能啟動(dòng)起來但是啟動(dòng)總是那么的不方便,這時(shí)候我們就要寫腳本來讓它方便起來了。將文件放在/etc/init.d/httpd里面,編輯完成后給它權(quán)限就行了,直接啟動(dòng)就行了。接下來我們讓它開機(jī)后自動(dòng)啟動(dòng)起來。

  1. [root@localhost apache]# vim /etc/init.d/httpd 
  2.  
  3. [root@localhost apache]# chmod +x /etc/init.d/httpd 
  1. #!/bin/bash 
  2. # httpd        Startup script for the Apache HTTP Server 
  3. # chkconfig: - 85 15 
  4. # description: Apache is a World Wide Web server.  It is used to serve \ 
  5. #          HTML files and CGI. 
  6. # processname: httpd 
  7. # config: /etc/httpd/conf/httpd.conf 
  8. # config: /etc/sysconfig/httpd 
  9. # pidfile: /var/run/httpd.pid 
  10.  
  11. # Source function library. 
  12. . /etc/rc.d/init.d/functions 
  13.  
  14. if [ -f /etc/sysconfig/httpd ]; then 
  15.         . /etc/sysconfig/httpd 
  16. fi 
  17.  
  18. # Start httpd in the C locale by default. 
  19. HTTPD_LANG=${HTTPD_LANG-"C"} 
  20.  
  21. # This will prevent initlog from swallowing up a pass-phrase prompt if 
  22. # mod_ssl needs a pass-phrase from the user. 
  23. INITLOG_ARGS="" 
  24.  
  25. # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server 
  26. # with the thread-based "worker" MPM; BE WARNED that some modules may not 
  27. # work correctly with a thread-based MPM; notably PHP will refuse to start. 
  28.  
  29. # Path to the apachectl script, server binary, and short-form for messages. 
  30. apachectl=/usr/local/apache/bin/apachectl 
  31. httpd=${HTTPD-/usr/local/apache/bin/httpd} 
  32. prog=httpd 
  33. pidfile=${PIDFILE-/var/run/httpd.pid} 
  34. lockfile=${LOCKFILE-/var/lock/subsys/httpd} 
  35. RETVAL=0 
  36.  
  37. start() { 
  38.         echo -n $"Starting $prog: " 
  39.         LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS 
  40.         RETVAL=$? 
  41.         echo 
  42.         [ $RETVAL = 0 ] && touch ${lockfile} 
  43.         return $RETVAL 
  44.  
  45. stop() { 
  46.     echo -n $"Stopping $prog: " 
  47.     killproc -p ${pidfile} -d 10 $httpd 
  48.     RETVAL=$? 
  49.     echo 
  50.     [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} 
  51. reload() { 
  52.     echo -n $"Reloading $prog: " 
  53.     if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then 
  54.         RETVAL=$? 
  55.         echo $"not reloading due to configuration syntax error" 
  56.         failure $"not reloading $httpd due to configuration syntax error" 
  57.     else 
  58.         killproc -p ${pidfile} $httpd -HUP 
  59.         RETVAL=$? 
  60.     fi 
  61.     echo 
  62.  
  63. # See how we were called. 
  64. case "$1" in 
  65.   start) 
  66.     start 
  67.     ;; 
  68.   stop) 
  69.     stop 
  70.     ;; 
  71.   status) 
  72.         status -p ${pidfile} $httpd 
  73.     RETVAL=$? 
  74.     ;; 
  75.   restart) 
  76.     stop 
  77.     start 
  78.     ;; 
  79.   condrestart) 
  80.     if [ -f ${pidfile} ] ; then 
  81.         stop 
  82.         start 
  83.     fi 
  84.     ;; 
  85.   reload) 
  86.         reload 
  87.     ;; 
  88.   graceful|help|configtest|fullstatus) 
  89.     $apachectl $@ 
  90.     RETVAL=$? 
  91.     ;; 
  92.   *) 
  93.     echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" 
  94.     exit 1 
  95. esac 
  96.  
  97. exit $RETVAL 

第九步:安裝mysql

從上面的順序可看出,下面我們將要演示MySQL安裝過程,這里我們先使用5.5這個(gè)版本是如何安裝的,回頭再講5.6的安裝過程。大家要演示的話到mysql的官方網(wǎng)站上去下載(www.mysql.com)。這里就從怎樣安裝開始講起。這個(gè)時(shí)候我們就可以解壓【官方要求:但是我們必須要將mysql放到/usr/local下面,并且目錄名稱還必須是mysql,壓縮過去后,我們是重命名還是使用連接?這里最好使用的是連接,這樣的它的版本號還有平臺這些字符創(chuàng)都會保留著,容易識別正在使用的是什么版本的。

  1. [root@localhost ~]# tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local  ####由于包有點(diǎn)大所以速度有點(diǎn)慢 
  2.  
  3. [root@localhost local]# ln -sv mysql-5.5.28-linux2.6-i686/ mysql    ####創(chuàng)建連接 

     對我們而言,要想初始化安裝mysql,我們就要使用mysql用戶mysql組,并且還不能讓它登錄(不創(chuàng)建家目錄)。

實(shí)際上在mysql里面有個(gè)文件是INSTALL-BINARY,這個(gè)文件里面說明了是如何安裝的,這里給大家講解一下,下面就給大家演示一下如何去安裝mysql的。

這里我們就可以更改mysql的權(quán)限了,更改權(quán)限后我們先查看一下scripts下面的腳本,這個(gè)腳本是進(jìn)行初始化的,里面也是有很多選項(xiàng)的,有個(gè)選項(xiàng)是—datadir=path,我們要將數(shù)據(jù)另外保存在什么地方,我們用rpm包安裝默認(rèn)在/var/lib/mysql。我們用編輯的方式安裝mysql,它默認(rèn)都放在/usr/local/mysql/data下面。我們要是把數(shù)據(jù)放在軟件安裝路徑下面可不是好的選擇,我們要給它另找路徑,我們知道這個(gè)數(shù)據(jù)是不斷變大的,我們最好把它放到邏輯卷中,這樣等數(shù)據(jù)很大的時(shí)候我們可以用擴(kuò)展邏輯卷的方式繼續(xù)存放數(shù)據(jù)。這里我們先創(chuàng)建一個(gè)20G的邏輯分區(qū),將其設(shè)置成邏輯卷類型。

  1. [root@localhost mysql]# chown -R mysql.mysql /usr/local/mysql/* 
  2.  
  3. [root@localhost mysql]# fdisk /dev/sda 
  4.  
  5. [root@localhost mysql]# pvcreate /dev/sda5   ####創(chuàng)建物理卷 
  6.  
  7. [root@localhost mysql]# vgcreate myvg /dev/sda5   ####創(chuàng)建卷組 
  8.  
  9. [root@localhost mysql]# lvcreate -n mydata -L 5G myvg  ####創(chuàng)建5G的邏輯卷 
  10.  
  11. [root@localhost mysql]# mke2fs -j /dev/myvg/mydata  ####格式化為ext3格式 
  12.  
  13. [root@localhost mysql]# mkdir /mydata  ####創(chuàng)建文件夾 
  14.  
  15. [root@localhost mysql]# vim /etc/fstab   ####開機(jī)自動(dòng)掛載 
  16.  
  17. /dev/myvg/mydata        /mydata       ext3    defaults        0 0 
  18.  
  19. [root@localhost mysql]# mount –a  

如果把mydata作為數(shù)據(jù)目錄的話,將來所有文件將直接放到這個(gè)分區(qū)上了,為了便于管理我們在建立一個(gè)子目錄data。它的屬主屬組應(yīng)該是mysql,但現(xiàn)在是root,所以我們還要更改屬主屬組。并且其他用戶也是不能隨意查看的。

  1. [root@localhost mysql]# mkdir /mydata/data 
  2.  
  3. [root@localhost mysql]# chown -R mysql.mysql /mydata/data   ####更改屬主、屬組 
  4.  
  5. [root@localhost mysql]# chmod o-rx /mydata/data    ####更改其他用戶的權(quán)限 

這個(gè)時(shí)候我們就可以執(zhí)行腳本了,進(jìn)行初始化。為了安全起見,初始化完成后我們要將mysql下面的屬主改為root。【提示:如果你使用的是默認(rèn)的data,那你還要將data的屬主改為mysql,而我們是又創(chuàng)建的文件存放數(shù)據(jù),所以這里就不用改了】

  1. [root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data 
  2.  
  3. [root@localhost mysql]# chown -R root /usr/local/mysql/* 

第十步:啟動(dòng)mysql

我們這時(shí)候是沒有腳本的,所以不能用service mysqld start。但是mysql給我們提供的有腳本,在support-files下面有個(gè)文件叫mysql.server,這就是它的腳本,我們只需要將它復(fù)制過去就行了。

    這個(gè)時(shí)候我們還不能啟動(dòng)mysql,因?yàn)槲覀冞沒有設(shè)置配置文件,mysql找配置文件的時(shí)候先去找/etc/my.cnf,再去找/etc/mysql/my.cnf,找完這里還去找$BNSEDIR/my.cnf。有人問$BNSEDIR是什么?一般來講就是你的安裝目錄。下面還去找~/.my.cnf。找完后如果有沖突怎么辦?這里就是以最后一個(gè)為準(zhǔn)(后一個(gè)會覆蓋前一個(gè))。我們到support-files目錄中選擇一個(gè)配置文件,其中我們要選擇合適的,我們就以正確的作為例子,我們這里查看一下文件中的內(nèi)存是否為我們合適的內(nèi)存。這里我們選擇my-large.cnf,因?yàn)槲覀兊膬?nèi)存是512M的,所以這里我們就選擇它了。然后我們將它復(fù)制到/etc/下面,并命名為my.cnf,然后編輯配置文件。最后啟動(dòng)serice mysqld start。

  1. [root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf 
  2.  
  3. [root@localhost mysql]# vim /etc/my.cnf 

  1. [root@localhost mysql]# service mysqld start 

我們編譯的時(shí)候服務(wù)器端和客戶端的mysql都裝了,我們這里的mysql的二進(jìn)制也裝了,但是找不到,所以我們要給它一個(gè)路徑這樣就行了,這里我們登錄一下mysql,結(jié)果如下。

  1. [root@localhost mysql]# vim /etc/profile.d/mysql.sh 
  1. export PATH=$PATH:/usr/local/mysql/bin 

第十一步:安裝php

這里我們開始安裝php,大家去php的官網(wǎng)(http://php.net/downloads.php)下載安裝包,php有很多功能都要依賴于你系統(tǒng)上的某些功能的,它可以給我們動(dòng)態(tài)生成圖片,但是它要依賴于圖片庫,如果當(dāng)前系統(tǒng)上沒有圖片庫,它就沒法使用這個(gè)功能。這里我們就先解壓,解壓后我們就可以配置了。

  1. [root@localhost ~]# tar xf php-5.4.13.tar.bz2 
  2.  
  3. [root@localhost ~]# cd php-5.4.13 
  1. [root@localhost php-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 
  1. 詳解: 
  2. --prefix=/usr/local/php   ####安裝目錄 
  3. --with-mysql=/usr/local/mysql                       ####mysql的位置 
  4. --with-openssl            ####是否支持openssl功能 
  5. --with-mysqli=/usr/local/mysql/bin/mysql_config     ####php與mysql交互的另一個(gè)接口(是個(gè)二進(jìn)制程序) 
  6. --enable-mbstring         ####支持中文(非單個(gè)字節(jié)表示的語言) 
  7. --with-freetype-dir       ####支持fretype功能(fretype是實(shí)現(xiàn)引用不同字體的) 
  8. --with-jpeg-dir           ####支持jpg格式的圖片 
  9. --with-png-dir            ####支持png格式的圖片 
  10. --with-zlib               ####支持通用格式的壓縮庫 
  11. --with-libxml-dir=/usr    ####xml的庫的位置 
  12. --enable-xml              ####支持?jǐn)U展標(biāo)記語言 
  13. --enable-sockets          ####支持基于套接字的通信 
  14. --with-apxs2=/usr/local/apache/bin/apxs     ####將它編譯成apache的模塊 
  15. --with-mcrypt             ####支持加密功能的 
  16. --with-config-file-path=/etc                ####php文件存放的目錄(主配置文件為php.ini) 
  17. --with-config-file-scan-dir=/etc/php.d      ####主配置文件有很多片段放的位置(格式是.ini) 
  18. --with-bz2                ####支持壓縮庫 
  19. --enable-maintainer-zts   ####主要取決于apache的類型(為prefork不用,使用event或worker需要要用)如果apache以線程方式工作必須編譯成這種格式 

這里執(zhí)行后可能會出現(xiàn)錯(cuò)誤,因?yàn)樗蕾嚨倪有別的庫文件不存在,這里我們手動(dòng)解決依賴關(guān)系就行了。我們查看圖片出現(xiàn)了錯(cuò)誤,它說你沒有安裝mcrypt相關(guān)的軟件包,加密不了了。有兩種解決方案:一、不適用加密功能把--with-mcrypt給去了。二、使用加密功能,安裝mcrypt相關(guān)的包。我們這里使用第二中方案。這里我們需要安裝四個(gè)軟件包,一個(gè)是mhash,一個(gè)是mhash-devel,一個(gè)是libmcrypt,最后一個(gè)是libmcrypt-devel。

這幾個(gè)軟件包去rpmfind.net上面搜索,里面有很多版本的,我們這里選定的是mhash-0.9.2-6.el5.i386.rpm和mhash-devel-0.9.2-6.el5.i386.rpm。然后我們再上網(wǎng)上下載libmcrypt-2.5.7-5.el5.i386.rpm,libmcrypt-devel-2.5.7-5.el5.i386.rpm軟件包,然后解壓。解壓完成后我們就可以再次執(zhí)行./configure了。執(zhí)行完成后我們就可以make和make install。

第十二步:提供配置文件

Php的配置文件比較獨(dú)特,在/etc/php.ini。php-5.4.13下面有兩個(gè)文件,一個(gè)是php.ini-development用戶開發(fā)環(huán)境的,另一個(gè)是php.ini-production用于生產(chǎn)環(huán)境的。我們用于生產(chǎn)環(huán)境的,把php.ini-production復(fù)制到/etc/下并命名為/php.ini。下面我們就說一說如何讓apache和php結(jié)合起來工作。主要修改apache的配置文件來實(shí)現(xiàn)。編輯apache的配置文件,讓apache處理php結(jié)尾的頁面文件,既然我們能夠支持php了,我們主頁面也應(yīng)該有以php結(jié)尾的頁面了。

  1. [root@localhost php-5.4.13]# cp php.ini-production /etc/php.ini 
  2.  
  3. [root@localhost php-5.4.13]# vim /etc/httpd/httpd.conf 

下面我們要進(jìn)入網(wǎng)頁默認(rèn)目錄,然后修改index.html,更改為index.php格式的。然后編輯內(nèi)容,我們這里用php連接mysql,然后進(jìn)行測試,我們在把mysql關(guān)閉(service mysqld stop)然后在進(jìn)行測試。

  1. [root@localhost ~]# cd /usr/local/apache/htdocs 
  2.  
  3. [root@localhost htdocs]# mv index.html index.php 
  4.  
  5. [root@localhost htdocs]# vim index.php 

  1. [root@localhost ~]# service mysqld stop 

第十三步:配置xcache

下面我們就實(shí)現(xiàn)如何讓我們的php支持虛擬主機(jī),但是在支持虛擬主機(jī)之前,我們先讓我們的php能夠使用xcache,對php和opcod進(jìn)行加速。這里我們直接下載好了,大家做了上網(wǎng)上下載(http://xcache.lighttpd.net/)。我們這里使用的是xcache-2.0版本。xcache的安裝比較獨(dú)特,因?yàn)閤cache是php的模塊準(zhǔn)確的說是php的擴(kuò)展,我們首先要使用php的命令來加載這個(gè)擴(kuò)展,要識別這個(gè)擴(kuò)展。Phpize意思是準(zhǔn)備好一個(gè)擴(kuò)展以便進(jìn)行編譯的。Php-config是能夠獲取php的配置信息,以及編譯時(shí)候所使用的選項(xiàng)信息的【提示:能夠和php-5.4結(jié)合工作的只支持xcache2.0及其以后的版本】

  1. [root@localhost ~]# tar xf xcache-2.0.0.tar.bz2 
  2.  
  3. [root@localhost ~]# cd xcache-2.0.0 
  4.  
  5. [root@localhost xcache-2.0.0]# /usr/local/php/bin/phpize   ####【提示:幾乎所有擴(kuò)展在安裝之前都要執(zhí)行這個(gè)命令的! 
  6.  
  7. [root@localhost xcache-2.0.0]# ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config 
  8.  
  9. --enable-xcache    ####啟用xcache功能 
  10.  
  11. --with-php-config=/usr/local/php/bin/php-config   ####php的配置命令 
  12.  
  13. [root@localhost xcache-2.0.0]# make 

安裝完成后會在xcache-2.0.0目錄下面生成一個(gè)文件叫xcache.ini。要想php能夠支持xcache這個(gè)功能,那就意味著把xcache的配置信息必須要提供到php里面去,所以我們要把xcache.ini追加到php里面去,或者直徑將xcache.ini直接復(fù)制到php.d下面,不過這個(gè)php.d目錄是我們手動(dòng)創(chuàng)建的,復(fù)制完成后我們要進(jìn)行編輯,我們這里只把常用的給列了出來,我們應(yīng)該重啟才能生效,這里要重啟web,因?yàn)樗哪K是被web加載的。我們還需要在/usr/local/apache/htdocs/index.php 添加一項(xiàng)“phpinfo();“,我們在測試一下,由此可見xcache工作起來了。

  1. [root@localhost xcache-2.0.0]# mkdir /etc/php.d 
  2.  
  3. [root@localhost xcache-2.0.0]# cp xcache.ini /etc/php.d 
  4.  
  5. [root@localhost xcache-2.0.0]# vim /etc/php.d/xcache.ini 

  1. [xcache.admin]      ####xcache的管理功能 
  2. xcache.admin.enable_auth = On    ####管理功能認(rèn)證打開 
  3. xcache.admin.user = "mOo"      ####管理用戶是什么 
  4. xcache.admin.pass = md5($your_password)    ####用md5加密的方式加密碼 
  5. xcache.admin.pass = ""          ####管理密碼是什么 
  6.  
  7. xcache.shm_scheme =        "mmap"    ####使用哪種方式來共享內(nèi)存,“mmap”內(nèi)存映射(一個(gè)內(nèi)存可以讓多個(gè)進(jìn)程同時(shí)訪問) 
  8. xcache.size  =               60M     ####用于緩存opcode代碼的空間有多大(可修改的) 
  9. xcache.count =                 1     ####設(shè)置你的CPU個(gè)數(shù) 
  10. xcache.slots =                8K     ####在緩存當(dāng)中,有幾個(gè)槽位來緩存opcode,并且每個(gè)槽位是多大 
  11. xcache.ttl   =                 0     ####過期時(shí)間,0表示永不過期 
  12.  
  1. xcache.gc_interval =           0     ####過期的時(shí)候都清理出去,我們的垃圾回收器多長時(shí)間工作一次,0表示永不工作 
  1. [root@localhost xcache-2.0.0]# service httpd restart 
  2.  
  3. [root@localhost xcache-2.0.0]# vim /usr/local/apache/htdocs/index.php 

 

熱門評論
最新評論
發(fā)表評論 查看所有評論(1)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)