nginx呼叫cgi指令碼

2021-09-20 16:39:13 字數 1738 閱讀 6986

乙個小範例

python使用cgihttpserver呼叫shell作為cgi指令碼

mkdir -p /data/cgi-bin

vim hello.sh

1

2

3

4

#!/bin/bash

echo"content-type:text/html"

echo""

echo"hello world!"

執行python -m cgihttpserver

然後在瀏覽器中輸入http://:8000/cgi-bin/hello.sh

即可呼叫我們的cgi指令碼

說明:1、指令碼前三行是必須的,第一行用於指定指令碼執行使用的直譯器,第二行和第三行是http協議規範,在傳送html正文之前要傳送mime頭和空行

2、cgi指令碼都是使用nobody使用者執行的,所以要確保nobody可以讀取並執行hello.sh

nginx下啟用cgi指令碼(py,shell)

安裝fcgiwrap,spawn-fcgi,fcgi

yum -y install autoconf automake libtool fcgi fcgi-devel spawn-fcgi

1.安裝fcgiwrap

wget  -o fcgiwrap.zip

unzip fcgiwrap.zip

cd fcgiwrap-master

autoreconf -i #這裡報錯的話安裝automake包

./configure

make

make install

2.配置spawn-fcgi

編輯spawn-fcgi配置檔案

vi /etc/sysconfig/spawn-fcgi

fcgi_socket=/var/run/fcgiwrap.socket

fcgi_program=/usr/local/sbin/fcgiwrap

fcgi_user=nginx

fcgi_group=nginx

fcgi_extra_options="-m 0700"options="-u $fcgi_user -g $fcgi_group -s $fcgi_socket -s $fcgi_extra_options -f 1 -p /var/run/spawn-fcgi.pid -- $fcgi_program"

新增開機啟動:

chkconfig spawn-fcgi on

啟動spawn-fcgi服務:

service spawn-fcgi start

修改時間的cgi應用 (這裡是我同事用py寫的乙個修改系統時間的工具) 

tar zxvf cgi-bin.tar.gz -c /data

修改index.py 裡面的herf位址

設定nginx

cgi應用在/data/cgi-bin目錄下

}}重啟nginx

service nginx reload

訪問 即可呼叫我們的cgi指令碼

apache 編寫cgi指令碼

1 裝載相關模組 可寫在 etc httpd conf httpd.conf 裡也可寫在虛擬主機配置檔案裡 loadmodulecgi modulemodules mod cgi.so cgi相關模組 loadmodulealias modulemodules mod alias.so 別名相關模組...

shell指令碼 初識CGI

cgi 是web 伺服器執行時外部程式的規範,按cgi 編寫的程式可以擴充套件伺服器功能。cgi 應用程式能與瀏覽器進行互動,還可通過資料庫api 與資料庫伺服器等外部資料來源進行通訊,從資料庫伺服器中獲取資料。格式化為html文件後,傳送給瀏覽器,也可以將從瀏覽器獲得的資料放到資料庫中。幾乎所有伺...

Apache 通過CGI執行指令碼

1.配置伺服器,開啟注釋 告訴伺服器cgi和pl字尾的檔案都是cgi指令碼 編寫python指令碼,並放入 var www cgi bin 目錄下 usr bin python coding utf 8 print content type text plain print hello,world ...