新聞中心
FastCGI 是一種常見的 CGI 接口,它可以大大加速 Web 應(yīng)用程序的性能。在 Linux 上配置 FastCGI 非常簡(jiǎn)單,只需按照以下步驟操作即可。

創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、銅仁網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、商城網(wǎng)站定制開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為銅仁等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
之一步:安裝 FastCGI
你需要安裝 FastCGI??梢允褂靡韵旅钤?CentOS 上安裝 FastCGI:
“`
yum install -y fcgi-devel
“`
或者使用以下命令在 Ubuntu 上安裝 FastCGI:
“`
apt-get install -y libfcgi-dev
“`
第二步:配置 Web 服務(wù)器
接下來(lái),你需要將 Web 服務(wù)器配置為使用 FastCGI。這里以 Nginx 為例。在 Nginx 配置文件中添加以下內(nèi)容:
“`
location ~ \.php$ {
root /path/to/your/webroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
“`
其中,/path/to/your/webroot 是你的站點(diǎn)根目錄。
第三步:?jiǎn)?dòng) FastCGI 進(jìn)程管理器
下一步是啟動(dòng) FastCGI 進(jìn)程管理器??梢允褂靡韵旅顔?dòng)一個(gè) FastCGI 進(jìn)程:
“`
spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/bin/php-cgi
“`
其中,-a 參數(shù)指定 FastCGI 進(jìn)程監(jiān)聽的 IP 地址,-p 參數(shù)指定 FastCGI 進(jìn)程監(jiān)聽的端口,-f 參數(shù)指定要使用的解釋器。
如果你想在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng) FastCGI 進(jìn)程管理器,可以將上述命令添加到啟動(dòng)腳本中。
第四步:測(cè)試 FastCGI
現(xiàn)在,你可以測(cè)試 FastCGI 是否正常工作了。在你的 Web 應(yīng)用程序中添加一個(gè) PHP 文件,并訪問(wèn)它。如果一切正常,你應(yīng)該能夠看到 PHP 輸出的內(nèi)容。
以上就是在 Linux 上配置 FastCGI 的所有步驟。通過(guò)使用 FastCGI,你可以大大加速你的 Web 應(yīng)用程序,提高用戶體驗(yàn)和響應(yīng)時(shí)間。
相關(guān)問(wèn)題拓展閱讀:
- 安全開發(fā)運(yùn)維必備的Nginx代理Web服務(wù)器性能優(yōu)化與安全加固配置
安全開發(fā)運(yùn)維必備的Nginx代理Web服務(wù)器性能優(yōu)化與安全加固配置
為了更好的指導(dǎo)部署與測(cè)試藝術(shù)升系統(tǒng)nginx網(wǎng)站服務(wù)器高性能同時(shí)下安全穩(wěn)定運(yùn)行,需要對(duì)nginx服務(wù)進(jìn)行調(diào)優(yōu)與加固;
本次進(jìn)行Nginx服務(wù)調(diào)優(yōu)加固主要從以下幾個(gè)部分:
本文檔僅供內(nèi)部使用,禁止外傳,幫助研發(fā)人員,運(yùn)維人員對(duì)系統(tǒng)長(zhǎng)期穩(wěn)定的運(yùn)行提供技術(shù)文檔參考。
Nginx是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/TP服務(wù)器。Nginx作為負(fù)載均衡服務(wù)器, Nginx 既可以在內(nèi)部直接支持 Rails 和 PHP 程序?qū)ν膺M(jìn)行服務(wù),也賀弊饑可以支持作為 HTTP代理服務(wù)器對(duì)外進(jìn)行服務(wù)。
Nginx版本選擇:
項(xiàng)目結(jié)構(gòu):
Nginx文檔幫助:
Nginx首頁(yè)地址目錄: /usr/share/nginx/html
Nginx配置文件:
localtion 請(qǐng)求匹配的url實(shí)是一個(gè)正則表達(dá)式:
Nginx 匹配判斷表達(dá)式:
例如,匹配末尾為如下后綴的靜態(tài)并判斷是否存在該文件, 如不存在則404。
查看可用模塊編譯參數(shù):
http_gzip模塊
開啟gzip壓縮輸出(常常是大于1kb的靜態(tài)文件),減少網(wǎng)絡(luò)傳輸;
http_fastcgi_module模塊
nginx可以用來(lái)請(qǐng)求路由到FastCGI服務(wù)器運(yùn)行應(yīng)用程序由各種框架和PHP編程語(yǔ)言等??梢蚤_啟FastCGI的緩存功能以及將靜態(tài)資源進(jìn)行剝離,從而提高性能。
keepalive模塊
長(zhǎng)連接對(duì)性能有很大的影響,通過(guò)減少CPU和網(wǎng)絡(luò)開銷需要開啟或關(guān)閉連接;
http_ssl_module模塊
Nginx開啟支持Https協(xié)議的SSL模塊
Linux內(nèi)核參數(shù)部分默認(rèn)值不適合高并發(fā),Linux內(nèi)核調(diào)優(yōu),主要涉及到網(wǎng)絡(luò)和文件系統(tǒng)、內(nèi)存等的優(yōu)化,
下面是我常用的內(nèi)核調(diào)優(yōu)配置:
文件描述符
文件描述符是操作系統(tǒng)資源,用于表示連接、打開的文件,以及其他信息。NGINX 每個(gè)連接可以使用兩個(gè)文件描述符。
例如如果NGINX充當(dāng)代理時(shí),通常一個(gè)文件描述符表示客戶端連接,另一個(gè)連接到代理服務(wù)器,如果開啟了HTTP 保持連接,這個(gè)比例會(huì)更低(譯注:為什么更低呢)。
對(duì)于有大量連接服務(wù)的系統(tǒng),下面的設(shè)置可能需要調(diào)整一下:
精簡(jiǎn)模塊:Nginx由于不斷添加新的功能,附帶的模塊也越來(lái)越多,建議一般常用的服務(wù)器軟件使用源碼編譯安裝管理;
(1) 減小Nginx編譯后的文件大小
(2) 指定GCC編譯參數(shù)
修改GCC編譯參數(shù)提高編譯優(yōu)化級(jí)別穩(wěn)妥起見采用 -O2 這也是大多數(shù)軟件編譯推薦的優(yōu)化級(jí)別。
GCC編譯參數(shù)優(yōu)化 總共提供了5級(jí)編譯優(yōu)化級(jí)別:
常用編譯參數(shù):
緩存和壓縮與限制可以提高性能
NGINX的一些額外功能可用于提高Web應(yīng)用的性能,調(diào)優(yōu)的時(shí)候web應(yīng)用不需要關(guān)掉但值得一提,因?yàn)樗鼈兊挠绊懣赡芎苤匾?/p>
簡(jiǎn)單示例:
1) 永久重定向
例如,配置 http 向 https 跳轉(zhuǎn) (永久)
nginx配置文件指令優(yōu)化一覽表
描述:Nginx因?yàn)榘踩渲貌缓线m導(dǎo)致的安全問(wèn)題,Nginx的默認(rèn)配置中存在一些安全問(wèn)題,例如版本號(hào)信息泄露、未配置使用SSL協(xié)議等。
對(duì)Nginx進(jìn)行卜碧安全配置可以有效的防范一些常見安全問(wèn)題,按照基線標(biāo)準(zhǔn)做好安全配置能夠減少安全事件的發(fā)生,保證采用Nginx服務(wù)器系統(tǒng)應(yīng)用安全運(yùn)行;
Nginx安全配置項(xiàng):
溫馨提示: 在修改相應(yīng)的源代碼文件后需重新編譯。
設(shè)置成功后驗(yàn)證禪返:
應(yīng)配置非root低權(quán)限用戶來(lái)運(yùn)行nginx服務(wù),設(shè)置如下建立Nginx用戶組和用戶,采用user指令指運(yùn)行用戶
加固方法:
我們應(yīng)該為提供的站點(diǎn)配置Secure Sockets Layer Protocol (SSL協(xié)議),配置其是為了數(shù)據(jù)傳輸?shù)陌踩?,SSL依靠證書來(lái)驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信加密。
不應(yīng)使用不安全SSLv2、SSLv3協(xié)議即以下和存在脆弱性的加密套件(ciphers), 我們應(yīng)該使用較新的TLS協(xié)議也應(yīng)該優(yōu)于舊的,并使用安全的加密套件。
HTTP Referrer Spam是垃圾信息發(fā)送者用來(lái)提高他們正在嘗試推廣的網(wǎng)站的互聯(lián)網(wǎng)搜索引擎排名一種技術(shù),如果他們的垃圾信息鏈接顯示在訪問(wèn)日志中,并且這些日志被搜索引擎掃描,則會(huì)對(duì)網(wǎng)站排名產(chǎn)生不利影響
加固方法:
當(dāng)惡意攻擊者采用掃描器進(jìn)行掃描時(shí)候利用use-agent判斷是否是常用的工具掃描以及特定的版本,是則返回錯(cuò)誤或者重定向;
Nginx支持webdav,雖然默認(rèn)情況下不會(huì)編譯。如果使用webdav,則應(yīng)該在Nginx策略中禁用此規(guī)則。
加固方法: dav_methods 應(yīng)設(shè)置為off
當(dāng)訪問(wèn)一個(gè)特制的URL時(shí),如”../nginx.status”,stub_status模塊提供一個(gè)簡(jiǎn)短的Nginx服務(wù)器狀態(tài)摘要,大多數(shù)情況下不應(yīng)啟用此模塊。
加固方法:nginx.conf文件中stub_status不應(yīng)設(shè)置為:on
如果在瀏覽器中出現(xiàn)Nginx自動(dòng)生成的錯(cuò)誤消息,默認(rèn)情況下會(huì)包含Nginx的版本號(hào),這些信息可以被攻擊者用來(lái)幫助他們發(fā)現(xiàn)服務(wù)器的潛在漏洞
加固方法: 關(guān)閉”Server”響應(yīng)頭中輸出的Nginx版本號(hào)將server_tokens應(yīng)設(shè)置為:off
client_body_timeout設(shè)置請(qǐng)求體(request body)的讀超時(shí)時(shí)間。僅當(dāng)在一次readstep中,沒(méi)有得到請(qǐng)求體,就會(huì)設(shè)為超時(shí)。超時(shí)后Nginx返回HTTP狀態(tài)碼408(Request timed out)。
加固方法:nginx.conf文件中client_body_timeout應(yīng)設(shè)置為:10
client_header_timeout設(shè)置等待client發(fā)送一個(gè)請(qǐng)求頭的超時(shí)時(shí)間(例如:GET / HTTP/1.1)。僅當(dāng)在一次read中沒(méi)有收到請(qǐng)求頭,才會(huì)設(shè)為超時(shí)。超時(shí)后Nginx返回HTTP狀態(tài)碼408(Request timed out)。
加固方法:nginx.conf文件中client_header_timeout應(yīng)設(shè)置為:10
keepalive_timeout設(shè)置與client的keep-alive連接超時(shí)時(shí)間。服務(wù)器將會(huì)在這個(gè)時(shí)間后關(guān)閉連接。
加固方法:nginx.conf文件中keepalive_timeout應(yīng)設(shè)置為:55
send_timeout設(shè)置客戶端的響應(yīng)超時(shí)時(shí)間。這個(gè)設(shè)置不會(huì)用于整個(gè)轉(zhuǎn)發(fā)器,而是在兩次客戶端讀取操作之間。如果在這段時(shí)間內(nèi),客戶端沒(méi)有讀取任何數(shù)據(jù),Nginx就會(huì)關(guān)閉連接。
加固方法:nginx.conf文件中send_timeout應(yīng)設(shè)置為:10
GET和POST是Internet上最常用的方法。Web服務(wù)器方法在RFC 2616中定義禁用不需要實(shí)現(xiàn)的可用方法。
加固方法:
limit_zone 配置項(xiàng)限制來(lái)自客戶端的同時(shí)連接數(shù)。通過(guò)此模塊可以從一個(gè)地址限制分配會(huì)話的同時(shí)連接數(shù)量或特殊情況。
加固方法:nginx.conf文件中l(wèi)imit_zone應(yīng)設(shè)置為:slimits $binary_remote_addr 5m
該配置項(xiàng)控制一個(gè)會(huì)話同時(shí)連接的更大數(shù)量,即限制來(lái)自單個(gè)IP地址的連接數(shù)量。
加固方法:nginx.conf 文件中 limit_conn 應(yīng)設(shè)置為: slimits 5
加固方法:
加固方法:
解決辦法:
描述后端獲取Proxy后的真實(shí)Client的IP獲取需要安裝–with-http_realip_module,然后后端程序采用JAVA(request.getAttribute(“X-Real-IP”))進(jìn)行獲取;
描述: 如果要使用geoip地區(qū)選擇,我們需要再nginx編譯時(shí)加入 –with-http_geoip_module 編譯參數(shù)。
描述: 為了防止外部站點(diǎn)引用我們的靜態(tài)資源,我們需要設(shè)置那些域名可以訪問(wèn)我們的靜態(tài)資源。
描述: 下面收集了Web服務(wù)中常規(guī)的安全響應(yīng)頭, 它可以保證不受到某些攻擊,建議在指定的 server{} 代碼塊進(jìn)行配置。
描述: 為了防止某些未備案的域名或者惡意鏡像站域名綁定到我們服務(wù)器上, 導(dǎo)致服務(wù)器被警告關(guān)停,將會(huì)對(duì)業(yè)務(wù)或者SEO排名以及企業(yè)形象造成影響,我們可以通過(guò)如下方式進(jìn)行防范。
執(zhí)行結(jié)果:
描述: 有時(shí)你的網(wǎng)站可能只需要被某一IP或者IP段的地址請(qǐng)求訪問(wèn),那么非白名單中的地址訪問(wèn)將被阻止訪問(wèn), 我們可以如下配置;
常用nginx配置文件解釋:
(1) 阿里巴巴提供的Concat或者Google的PageSpeed模塊實(shí)現(xiàn)這個(gè)合并文件的功能。
(2) PHP-FPM的優(yōu)化
如果您高負(fù)載網(wǎng)站使用PHP-FPM管理FastCGI對(duì)于PHP-FPM的優(yōu)化非常重要
(3) 配置Resin on Linux或者Windows為我們可以打開 resin-3.1.9/bin/httpd.sh 在不影響其他代碼的地方加入:-Dhttps.protocols=TLSv1.2, 例如
linux fastcgi 配置的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux fastcgi 配置,如何配置 Linux 上的 FastCGI?,安全開發(fā)運(yùn)維必備的Nginx代理Web服務(wù)器性能優(yōu)化與安全加固配置的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)題目:如何配置Linux上的FastCGI?(linuxfastcgi配置)
URL鏈接:http://www.5511xx.com/article/codgehg.html


咨詢
建站咨詢
