在ubuntu下為nginx配置支持cgi腳本的方案
在nginx下支持cgi腳本于支持node類似的,只要在nginx直接做個(gè)轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)到對(duì)應(yīng)的cgi套接字就好。
使用Fcgiwrap
Fcgiqwrap是另外一個(gè)CGI封裝庫,跟Simple CGI類似。
安裝fcgiwrap
apt-get install fcgiwrap
安裝以后fcgiwrap默認(rèn)已經(jīng)啟動(dòng),對(duì)應(yīng)的套接字是 /var/run/fcgiwrap.socket 。如果沒有啟動(dòng),使用 /etc/init.d/fcgiwrap 手動(dòng)啟動(dòng)。
配置nginx的vhost文件
在要支持cgi腳本的路徑下,添加對(duì)應(yīng)的server配置。比如所有的cgi都在cgi-bin路徑下:
server { [...] location /cgi-bin/ { # Disable gzip (it makes scripts feel slower since they have to complete # before getting gzipped) gzip off; # Set the root to /usr/lib (inside this location this means that we are # giving access to the files under /usr/lib/cgi-bin) root /var/www/www.example.com; # Fastcgi socket fastcgi_pass unix:/var/run/fcgiwrap.socket; # Fastcgi parameters, include the standard ones include /etc/nginx/fastcgi_params; # Adjust non standard parameters (SCRIPT_FILENAME) fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } [...] }
重新加載nginx:
nginx -s reload
測(cè)試
在cgi-bin下創(chuàng)建hello-world.cgi
#!/usr/bin/perl -w # Tell perl to send a html header. # So your browser gets the output # rather then <stdout>(command line # on the server.) print "Content-type: text/html\n\n"; # print your basic html tags. # and the content of them. print "<html><head><title>Hello World!! </title></head>\n"; print "<body><h1>Hello world</h1></body></html>\n";
設(shè)置執(zhí)行權(quán)限
chmod 755 /var/www/www.example.com/cgi-bin/hello_world.cgi
在瀏覽器打開對(duì)應(yīng)腳本,即可看到已經(jīng)配置成功! http://www.example.com/cgi-bin/hello_world.cgi
- shell腳本定時(shí)統(tǒng)計(jì)Nginx下access.log的PV并發(fā)送給API保存到數(shù)據(jù)庫
- Apache Nginx 禁止目錄執(zhí)行PHP腳本文件的方法
- 詳解Nginx SSL快速雙向認(rèn)證配置(腳本)
- 使用shell腳本對(duì)Nginx日志進(jìn)行切分的示例代碼
- nginx源碼分析configure腳本詳解
- Nginx中使用Lua腳本配置示例
- PHP腳本監(jiān)控Nginx 502錯(cuò)誤并自動(dòng)重啟php-fpm
- Nginx和PHP-FPM的啟動(dòng)、重啟、停止腳本分享
- Linux下創(chuàng)建nginx腳本-start、stop、reload…
- shell腳本之nginx自動(dòng)化腳本
相關(guān)文章
解決nginx 503 Service Temporarily Unavailable方法示例
這篇文章主要介紹了解決nginx 503 Service Temporarily Unavailable方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Nginx配置WebSocket反向代理的實(shí)現(xiàn)示例
本文主要介紹了Nginx配置WebSocket反向代理的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08內(nèi)網(wǎng)環(huán)境nginx配置https訪問的過程詳解
這篇文章主要介紹了內(nèi)網(wǎng)環(huán)境nginx配置https訪問,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Nginx反向代理之proxy_redirect指令的實(shí)現(xiàn)
proxy_redirect指令是用來重置頭信息中的"Location"和"Refresh"的值,本文就來詳細(xì)的介紹一下如何使用,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08Nginx服務(wù)器中的模塊編寫及相關(guān)內(nèi)核源碼初探
這篇文章主要介紹了Nginx服務(wù)器中的模塊編寫及相關(guān)源碼初探,文中以一個(gè)簡(jiǎn)單的Hello world模塊的編寫來深入分析Nginx內(nèi)核所用到的基礎(chǔ)函數(shù),需要的朋友可以參考下2015-12-12nginx配置location?root簡(jiǎn)單方法記錄
Location是Nginx中一個(gè)非常核心的配置,下面這篇文章主要給大家介紹了關(guān)于nginx配置location?root的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12