php在apache下一般有三種工作方式:CGI,Apache模塊,F(xiàn)astCGI
在CGI模式下,如果用戶請求一個(gè)php文件,web服務(wù)器就會(huì)調(diào)用php解析器去解析這個(gè)文件,然后把結(jié)果返回給客戶端。
在apache模塊模式下,將php解析器作為了apache的一個(gè)模塊,這樣php解析器就與web服務(wù)器一起運(yùn)行。
在fastcgi模式下,web服務(wù)器不會(huì)像cgi那樣每次都啟動(dòng)一個(gè)新的進(jìn)程,而是將內(nèi)容傳遞到一個(gè)已有的進(jìn)程中(這個(gè)進(jìn)程在web服務(wù)器啟動(dòng)時(shí)就開啟了,而且不會(huì)退出),這個(gè)進(jìn)程就會(huì)一次次的處理來自客戶端的請求。
這里我們將演示以模塊化的方式工作的LAMP。安裝的流程是
httpd--->mariadb--->php--->phpMyadmin--->Xcache
一.編譯安裝httpd,我們這里的編譯安裝都是在CentOS6環(huán)境下進(jìn)行的。
編譯前的環(huán)境準(zhǔn)備:
apr-1.5.0.tar.bz2--->apr-util-1.5.3.tar.bz2---> httpd-2.4.10.tar.bz2
httpd-2.4.10編譯過程也要依賴于pcre-devel軟件包,需要事先安裝。
包組:Development tools ,Server Platform Development
接下來我們就可以進(jìn)行編譯了:
1,編譯 apr-1.5.0.tar.bz2
yum groupinstall "Devlopment Tools" "Server Platform Development" -y yum install pcre-devel [root@localhost tmp]# tar xf apr-1.5.0.tar.bz2 [root@localhost tmp]# cd apr-1.5.0 [root@localhost apr-1.5.0]# ./configure --prefix=/usr/local/apr [root@localhost apr-1.5.0]# make && make install |
2,編譯 apr-util-1.5.3.tar.bz2
3,編譯 httpd-2.4.10.tar.bz2
[root@localhost tmp]# tar -xf httpd-2.4.10.tar.bz2 [root@localhost tmp]# cd httpd-2.4.10 [root@localhost httpd-2.4.10]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event [root@localhost httpd-2.4.10]# make && make install這樣的話我們的httpd-2.4就編譯完成了 |
為httpd24提供的腳本中,我們只需要修改一下
接著我們把httpd24加到服務(wù)中去,然后啟動(dòng)就可以了
[root@localhost httpd]# chkconfig --add httpd24 [root@localhost httpd]# chkconfig httpd24 on [root@localhost httpd]# chkconfig --list httpd24 httpd24 0:off1:off2:on3:on4:on5:on6:off |
修改httpd的主配置文件,設(shè)置其Pid文件的路徑
編輯/etc/httpd/httpd.conf,添加如下行即可:
PidFile "/var/run/httpd/httpd.pid"
二.編譯安裝mariadb,我們這里使用的是mariadb的通用二進(jìn)制包來編譯。
1、準(zhǔn)備數(shù)據(jù)存放的文件系統(tǒng)
新建一個(gè)邏輯卷,并將其掛載至特定目錄即可。這里不再給出過程。
這里假設(shè)其邏輯卷的掛載目錄為/mydata,而后需要?jiǎng)?chuàng)建/mydata/data目錄做為mysql數(shù)據(jù)的存放目錄。
[root@localhost tmp]# tar -xf mariadb-5.5.43-linux-x86_64.tar.gz -C /usr/local [root@localhost tmp]# cd /usr/local [root@localhost local]# ln -sv mariadb-5.5.43-linux-x86_64/ mysql `mysql' -> `mariadb-5.5.43-linux-x86_64/' |
2、新建用戶以安全方式運(yùn)行進(jìn)程:
# groupadd -r mysql ###創(chuàng)建系統(tǒng)組 # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql # chown -R mysql:mysql /mydata/data [root@localhost mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data I #####指明數(shù)據(jù)庫位置在/mydata/data |
3.接著我們要為數(shù)據(jù)庫提供主配置文件
[root@localhost ~]# cd /usr/local/mysql [root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf cp: overwrite `/etc/my.cnf'? y |
并修改此文件中thread_concurrency的值為你的CPU個(gè)數(shù)乘以2,比如這里使用如下行:
thread_concurrency = 2
另外還需要添加如下行指定mysql數(shù)據(jù)文件的存放位置:
datadir = /mydata/data
4.位數(shù)據(jù)庫提供服務(wù)腳本
[root@localhost ~]# cd /usr/local/mysql [root@localhost mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld [root@localhost mysql]# chmod +x /etc/rc.d/init.d/m mdmonitor messagebus mysqld [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld [root@localhost mysql]# chkconfig --add mysqld [root@localhost mysql]# chkconfig mysqld on [root@localhost mysql]# chkconfig --list mysqld mysqld 0:off1:off2:on3:on4:on5:on6:off [root@localhost mysql]# |
接下來,啟動(dòng)服務(wù),看是否能啟動(dòng)成功
[root@localhost ~]# service mysqld start Starting MySQL............... SUCCESS! |
我們要給數(shù)據(jù)庫安全初始化
[root@localhost ~]# cd /usr/local/mysql/bin [root@localhost bin]# . mysql_secure_installation ###安全初始化 |
至此,我們的數(shù)據(jù)編譯完畢。
三,編譯PHP
1、解決依賴關(guān)系:
請配置好yum源(系統(tǒng)安裝源及epel源)后執(zhí)行如下命令:
# yum -y groupinstall "Desktop Platform Development" ###這個(gè)需要配置本地yum源
# yum -y install bzip2-devel libmcrypt-devel libxml2-devel##這個(gè)需要配置epl源
2.接著我們安裝下面的步驟進(jìn)行就OK
# tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
# ./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
注意:這里為了支持apache的worker或event這兩個(gè)MPM,編譯時(shí)使用了--enable-maintainer-zts選項(xiàng)。
# make && make install
為php提供配置文件:
# cp php.ini-production /etc/php.ini
3、 編輯apache配置文件httpd.conf,以apache支持php
# vim /etc/httpd24/httpd.conf
(1)添加如下二行
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(2)定位至DirectoryIndex index.html
修改為:
DirectoryIndex index.php index.html
而后重新啟動(dòng)httpd,或讓其重新載入配置文件即可測試php是否已經(jīng)可以正常使用。
有上面可以看到我們的三者的結(jié)合是成功的,所以LAMP編譯完成。接下來我們來部署phpadmin圖形化工具
四,安裝xcache,為php加速:
上圖可知xcache已經(jīng)加入到PHP中去了,現(xiàn)在可以做壓力測試看看效果。
[root@lirui ~]# ab -c 200 -n 10000 http://192.168.1.101/pma
忘記在便宜xcache做壓力測試了,不過,前面沒做,這種效果也可以從上圖可以看出。
到此就完了,寫的有些凌亂,日后有時(shí)間在修改吧
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章名稱:LAMP編譯安裝只PHP以模塊化的方式工作-創(chuàng)新互聯(lián)
分享URL:http://jinyejixie.com/article14/psige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、外貿(mào)建站、動(dòng)態(tài)網(wǎng)站、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計(jì)公司、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容