nginx fastcgi c c 原始碼安裝配置

2021-06-20 08:49:36 字數 2572 閱讀 7271

參考:

由於以前安裝過apache,已經安裝了很多依賴庫,現在只需要安裝以下軟體包:

nginx-1.4.4.tar.gz

spawn-fcgi-1.6.3.tar.gz (fastcgi程序管理程式)

fcgi.tar.gz ( fastcgi庫與標頭檔案)

安裝完畢,開啟服務:

# /usr/local/nginx/sbin/nginx

瀏覽器中訪問:

出現歡迎頁面,說明安裝nginx成功

nginx詳細配置這裡不作介紹

nginx是支援fastcgi的。然而我們需要下乙個fastcgi程序管理器,啟動它才能執行fastcgi程式。

這裡有幾個概念要搞清楚:nginx是nginx,fastcgi是fastcgi,前者支援後者,但是前者本身沒有整合後者的功能)。對於ngingx,我們要配置conf.nginx來設定如何支援fastcgi。而對於fastcgi,我們寫的fastcgi程式需要乙個排程者:fastcgi程序管理器,即spawn-fcgi。——純屬個人理解。

這個spawn-fcgi就是fastcgi程序管理器。是lighttpd中的乙個子專案。

# tar -xvf ./spawn-fcgi-1.6.3.tar.gz

# cd ./spawn-fcgi-1.6.3

# ./configure; make;

#cp ./src/spawn-fcgi /usr/local/nginx/sbin/# tar -xvf ./fcgi.tar.gz

# cd ./fcgi-2.4.1-snap-0311112127

# ./configure;

如果直接編譯會報錯,如下處理:

# vi ./include/fcgio.h

新增如下標頭檔案:

#include

# make; make install

# cd /usr/local/nginx

# mkdir fastcgitest

#cd fastcgitest

編寫如下**:

#include #include #include #include //using namespace std;  

int main()

return 0;

}

儲存成test1.c

編譯:# gcc -werror-wall ./test1.c -o ./test1.cgi -lfcgi -wl,-r /usr/local/lib

啟動:# sudo spawn-fcgi -a 127.0.0.1 -p 9000 -f /usr/local/nginx/fastcgitest/test1.cgi -f 1-p /var/log/nginx/myfastcgi

修改/usr/local/nginx/conf/nginx.conf,在server中加入如下:

location ~\.cgi$

root fastcgitest;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.cgi;

fastcgi_param $fastcgi_script_name;

include fastcgi_params;

# /usr/local/nginx/sbin/nginx-s reload

瀏覽器中訪問:

成功1. .ginx收到cgi請求後,會看有多少個該cgi程式的程序(spawn-fcgi -f指定的引數),然後根據併發量來呼叫(排程)cgi程式。

2. 原版spawn-fcgi(可參考下面七參考資料裡daemon版spawn-fcgi)在fork了cgi程式後,自己就退出了。這時fork了的cgi程式的父程序id都是1了,即init系統程序。這樣,如果想併發就需要你的fastcgi去支援併發,可google:fastcgi併發

3. 關於php,nginx是用fastcgi來解析php的。這個負責解析的fastcgi程式並不多,好像就1個,因此這cgi不能大併發,但是沒關係nginx支援cgi快取~所以php網頁的併發請求跟fastcgi關係不大。其實可以把fastcgi對於php的作用當作乙個編譯器,編譯完後,php都有了快取,再請求就不需要再次跑fastcgi來解析php指令碼了,php就是個該死的指令碼啊

官方源 映象源彙總

網易 http 阿里雲 http 上海交通大學 http ftp.sjtu.edu.cn html resources.xml 部分移動運營商出口狀況不佳,無法訪問 華中科技大學 http mirror.hust.edu.cn 當前已用容量估計 4.83t 清華大學 http mirrors.tun...

官方源 映象源彙總

網易 阿里雲 上海交通大學 部分移動運營商出口狀況不佳,無法訪問 華中科技大學 當前已用容量估計 4.83t 清華大學 當前已用容量估計 9.8t 北京理工大學 蘭州大學 中國科技大學 當前已用容量估計 21.32t 大連東軟資訊學院 當前已用容量估計 2.5t 東北大學 大連理工大學 哈爾濱工業大...

官方源 映象源彙總

網易 阿里雲 上海交通大學 部分移動運營商出口狀況不佳,無法訪問 華中科技大學 當前已用容量估計 4.83t 清華大學 當前已用容量估計 9.8t 北京理工大學 蘭州大學 中國科技大學 當前已用容量估計 21.32t 大連東軟資訊學院 當前已用容量估計 2.5t 東北大學 大連理工大學 哈爾濱工業大...