溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及 Xcache實(shí)現(xiàn)PHP的加速

發(fā)布時(shí)間:2020-06-26 01:29:31 來(lái)源:網(wǎng)絡(luò) 閱讀:913 作者:SmileHandsome 欄目:web開(kāi)發(fā)

本人對(duì)于fastcgi/cgi的理解:

什么是CGI

CGI全稱是“公共網(wǎng)關(guān)接口”(Common Gateway Interface),HTTP服務(wù)器與你的或其它機(jī)器上的程序進(jìn)行“交談”的一種工具,其程序須運(yùn)行在網(wǎng)絡(luò)服務(wù)器上。

CGI可以用任何一種語(yǔ)言編寫(xiě),只要這種語(yǔ)言具有標(biāo)準(zhǔn)輸入、輸出和環(huán)境變量。如php,perl,tcl等.


什么是FastCGI

FastCGI像是一個(gè)常駐(long-live)型的CGI,它可以一直執(zhí)行著,只要激活后,不會(huì)每次都要花費(fèi)時(shí)間去fork一次(這是CGI最為人詬病的fork-and-execute 模式)。它還支持分布式的運(yùn)算, 即 FastCGI 程序可以在網(wǎng)站服務(wù)器以外的主機(jī)上執(zhí)行并且接受來(lái)自其它網(wǎng)站服務(wù)器來(lái)的請(qǐng)求。

FastCGI是語(yǔ)言無(wú)關(guān)的、可伸縮架構(gòu)的CGI開(kāi)放擴(kuò)展,其主要行為是將CGI解釋器進(jìn)程保持在內(nèi)存中并因此獲得較高的性能。眾所周知,CGI解釋器的反復(fù)加載是CGI性能低下的主要原因,如果CGI解釋器保持在內(nèi)存中并接受FastCGI進(jìn)程管理器調(diào)度,則可以提供良好的性能、伸縮性、Fail- Over特性等等。


FastCGI的工作原理
1、Web Server啟動(dòng)時(shí)載入FastCGI進(jìn)程管理器(IIS ISAPI或Apache Module)
2、FastCGI進(jìn)程管理器自身初始化,啟動(dòng)多個(gè)CGI解釋器進(jìn)程(可見(jiàn)多個(gè)php-cgi)并等待來(lái)自Web Server的連接。
3、當(dāng)客戶端請(qǐng)求到達(dá)Web Server時(shí),F(xiàn)astCGI進(jìn)程管理器選擇并連接到一個(gè)CGI解釋器。Web server將CGI環(huán)境變量和標(biāo)準(zhǔn)輸入發(fā)送到FastCGI子進(jìn)程php-cgi。
4、FastCGI子進(jìn)程完成處理后將標(biāo)準(zhǔn)輸出和錯(cuò)誤信息從同一連接返回Web Server。當(dāng)FastCGI子進(jìn)程關(guān)閉連接時(shí),請(qǐng)求便告處理完成。FastCGI子進(jìn)程接著等待并處理來(lái)自FastCGI進(jìn)程管理器(運(yùn)行在Web Server中)的下一個(gè)連接。 在CGI模式中,php-cgi在此便退出了。

在上述情況中,你可以想象CGI通常有多慢。每一個(gè)Web請(qǐng)求PHP都必須重新解析php.ini、重新載入全部擴(kuò)展并重初始化全部數(shù)據(jù)結(jié)構(gòu)。使用FastCGI,所有這些都只在進(jìn)程啟動(dòng)時(shí)發(fā)生一次。一個(gè)額外的好處是,持續(xù)數(shù)據(jù)庫(kù)連接(Persistent database connection)可以工作。



注意: 第一部分的第二部分的基礎(chǔ),所以有什么不懂得請(qǐng)點(diǎn)擊:

Web Service之LAMP- 1 基于模塊化編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速:

http://xiaomazi.blog.51cto.com/5891742/1383122



第二部分: 配置apache-2.4.9與fpm方式的php-5.4.26


一、Apache、MySQL的安裝與前一部分相同;請(qǐng)根據(jù)其前面進(jìn)行安裝;
這里省略了...

請(qǐng)點(diǎn)擊: http://xiaomazi.blog.51cto.com/5891742/1383122

二、編譯安裝php-5.4.26:

1.解決依賴關(guān)系:

1).我接上面的環(huán)境做的,所以要先刪除:

[root@station76 ~]# rm -rf php-5.4.26

2).解壓、編譯、安裝:

[root@www ~]# tar xf php-5.4.26.tar.bz2
[root@www php-5.4.26]# cd php-5.4.26
[root@www 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 --enable-fpm --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
[root@www php-5.4.26]# make && make install
注意:這里面將路徑改為了php5了,因?yàn)橹鞍惭b過(guò).在上產(chǎn)環(huán)境下直接刪除/卸載就可以.

2.提供配置文件:

[root@www php-5.4.26]# mkdir /etc/php5
[root@www php-5.4.26]# cp php.ini-production /etc/php5/php.ini

3.配置php-fpm:

1).為php-fpm提供SysV init腳本,并將其添加至服務(wù)列表:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

2).為php-fpm提供配置文件:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速




三、配置httpd-2.4.9及Xcache為php加速;


1.提供配置文件:httpd.conf

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

2.編輯配置文件httpd.conf:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

3.配置httpd-vhosts.conf文件,使得虛擬主機(jī)生效:

1).配置虛擬主機(jī):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

2).創(chuàng)建所需目錄、測(cè)試語(yǔ)法、啟動(dòng)服務(wù)、端口:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

3).添加本地hosts文件(注意在生產(chǎn)環(huán)境下不用添加):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

4)本地測(cè)試訪問(wèn)(訪問(wèn)是不會(huì)成功的因?yàn)闆](méi)有權(quán)限的):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

5).修改文件并添加相應(yīng)權(quán)限:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

6).啟動(dòng)并訪問(wèn):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

4.測(cè)試修改改后的index.php:

1).修改網(wǎng)頁(yè)文件:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

2).訪問(wèn):http:// www.xiaoma1.com(www.xiaoma2.com)

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

5.配置轉(zhuǎn)發(fā)功能:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

1).重啟服務(wù):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

2).查看端口、模塊:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

3).測(cè)試訪問(wèn):http:// www.xiaoma1.com(www.xiaoma2.com)這里就是php解析的了.

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

6.安裝phpMyAdmin:

1).刪除index.php文件:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

2).解壓phpMyAdmin且復(fù)制文件至htdocs中(xiaoma2也是同樣的操作):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

3).測(cè)試訪問(wèn): http://www.xiaoma1.com/pma/

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

4).壓力測(cè)試-->ab(壓力測(cè)試進(jìn)行中試網(wǎng)頁(yè)還是能快速打開(kāi)的):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

7.安裝xcache位php加速:

1).刪除之前的文件、解壓、phpize(用本地的解釋器探測(cè)模塊所依賴的版本號(hào)、擴(kuò)展API等,生成序列號(hào)標(biāo)記,而后才能編譯)、編譯、安裝:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

2).創(chuàng)建所需目錄、cpoy配置文件、并且修改配置文件、啟動(dòng)服務(wù):

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

3).創(chuàng)建index.php文件且:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

4).測(cè)試訪問(wèn):http://www.xiaoma1.com/ -->http://www.xiaoma1.com/pma/

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

5).ab測(cè)試前:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

6).壓力測(cè)試:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

7).壓力測(cè)試后打開(kāi)的速度很快:

Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速





A smile is the most beautiful language!!!


Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速以本人的理解而寫(xiě)出博客,如若有錯(cuò)誤,歡迎指出.Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速Web Service之LAMP- 2 基于FastCGI 的編譯安裝以及  Xcache實(shí)現(xiàn)PHP的加速

                                                                    ---->小馬子


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI