1. 程式人生 > >配置Apache2.x 支援shell指令碼和Python編寫CGI程式+測試程式

配置Apache2.x 支援shell指令碼和Python編寫CGI程式+測試程式

1.安裝apache

<span style="font-size:18px;">[email protected]:~$ aptitude search apache
p   apache2                                   - Apache HTTP 伺服器元包                             
p   apache2-dbg                               - Apache debugging symbols                           
p   apache2-doc                               - Apache HTTP Server documentation                   
v   apache2-mpm                               -                                                    
p   apache2-mpm-event                         - Apache HTTP Server - event driven model  
..........</span>
<span style="font-size:18px;"><span style="font-size:18px;">[email protected]:~$ sudo apt-get install apache2 </span></span>

2.配置apache2

1).[email protected]:/etc/apache2/sites-available$ sudo vim default

<VirtualHost *:80>
    ServerAdmin [email protected]

    DocumentRoot /var/www         //網站根目錄



    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/               //指定CGI指令碼在web伺服器上的位置,ScriptAlias指令

                                                                          表明CGI指令碼儲存在web伺服器的/usr/lib/cgi-bin/目錄下

   ,請求URL裡包含/cgi-bin/的將會搜尋這個目錄下的cgi指令碼 

    <Directory "/usr/lib/cgi-bin">                         //該目錄為實驗指令碼放置目錄
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch       //明確CGI指令碼在/usr/lib/cgi-bin/ 目錄下有執行許可權
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log 

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

上面是配置檔案解釋(該配置檔案不用修改,除非你需要指定其它的實驗目錄)

2) 編輯apache配置檔案(我的是/etc/apache2/apache2.conf), 加入下面一行:

AddHandler cgi-script .py

告訴apache來使用CGI協議來解釋python檔案.

3) 重啟apache2服務:

  1. $ sudo /etc/init.d/apache2 restart 

4)檢查 HTTP 服務通過 log files。

[email protected]:~$ sudo tail -f /var/log/apache2/error.log

3.測試

下面我們通過一個小程式來測試我們的環境是否搭建成功!

[email protected]:/usr/lib/cgi-bin$ ls
hello.cgi  helloworld.py

1) 

[email protected]:/usr/lib/cgi-bin$ vim hello.cgi

#!/usr/bin/python
print ("Content-Type: text/html")
print
print ("Hello,World")

在本機瀏覽器中輸入:


2)

[email protected]:/usr/lib/cgi-bin$ vim helloworld.py

#!/usr/bin/env python
print "Content-Type: text/html"
print

print "<html><header><title> Test for CGI Python </title></header> <body>Hello CGI</body></html>"

在本機瀏覽器中輸入:


References:

相關推薦

配置Apache2.x 支援shell指令碼Python編寫CGI程式+測試程式

1.安裝apache <span style="font-size:18px;">[email protected]:~$ aptitude search apache p apache2

基於XMLPython實現白盒測試程式測試用例分離

【摘要】進行白盒測試時,或者將測試用例和測試程式混在一起難以閱讀;或者花很大精力構思用例的格式,然後編寫較複雜的程式進行用例的提取;本文提出一種XML用例編寫規範和解析思路,它基於python的XML解析器minidom,可以快速完成測試用例與測試程式分離。    鑑於XML

40 個很有用的 Mac OS X Shell 指令碼終端命令

System Restart Mac OS X: shutdown - r now Shutdown Mac OS X: shutdown now Power Management / Energy Saving Get overview of current Po

SHELL指令碼Sed等工具的使用

SHELL指令碼(重點 ) 建立shell指令碼 第一步:使用文字編輯器來建立文字檔案 第一行必須包括shell宣告序列:#! .#!/bin/bash 添加註釋 註釋以#開頭 第二步:執行指令碼 給予執行許可權,在命令列上指定指令碼的絕對或相對路徑 直接執行直譯器,將指

shell指令碼-監控python是否在執行,沒有則重啟python

有時候需要一些python指令碼去常連結一些東西,就需要監控是否執行正常。 #!/bin/bash project1='/root/1.py' project2='/root/2.py' for Pro in $project1 $project2 do PythonPid

shell 指令碼執行python指令碼,連線hive提交資料寫入表

使用說明 1.cd /opt/zy 在這個目錄下以root使用者許可權執行命令 2. 在SAP查詢的時候 Tcode:ZMMR0005 Purchase Org * PO Creating:2017/3/1 (開始日期) 2017/

什麼是Linux的Shell指令碼怎麼執行指令碼

一、什麼是Shell?         shell是外殼的意思,就是作業系統的外殼。我們可以通過shell命令來操作和控制作業系統,比如Linux中的Shell命令就包括ls、cd、pwd等等。總結來說,Shell是一個命令直譯器,它通過接受使用者輸入的Shell命令來啟動

CDH中配置HDFS HA 及shell 指令碼

最近又安裝 hadoop 叢集, 故嘗試了一下配置 HDFS 的 HA,CDH4支援Quorum-based Storage和shared storage using NFS兩種HA方案,而CDH5只支援第一種方案,即 QJM 的 HA 方案。 叢集規劃 我一共安裝了三個節點的叢集,對於 HA 方案來說

shell指令碼呼叫python指令碼的路徑問題

指令碼的相互呼叫中,只有在同一級目錄下才可以使用__file__引數去獲取路徑名,(在shell裡使用pwd也同樣),否則,使用的就是主檔案(最開始執行的指令碼程式)的所在位置,是錯誤路徑:一定要注意當期那執行主檔案是誰 而 shell指令碼相互呼叫時路徑也要注意部分命令

基於PythonJavaScript編寫物聯網溫度計程式

Zerynth作為Android和iOS手機端應用程式,在物聯網專案中,可以對圖形介面進行快速原型設計。藉助Zerynth可以把任何手機作為智慧物件加入控制器組成物聯網系統。尤其是通過建立雙向通訊通道,可以管理和控制與它連線的手機裝置。本文我們將介紹使用微控制器

利用kvaserPython編寫監控介面(2)

利用Python,通過kvaser讀取CAN訊號,在DBC翻譯訊號時發生錯誤 錯誤資訊: UnicodeDecodeError:‘utf-8’ codec can’t decode byte … 解決方法: 1、利用文字編輯器(Geany)開啟DBC檔案 2、進行如下設定:“文件”-

利用kvaserPython編寫監控介面(3)

在視窗中列印byte時,特殊現象的解釋 def printframe(frame, width): form = '═^' + str(width - 1) print(format(" Frame received ", form)) print("id:",

使用 WebSocket Python 編寫日誌檢視器

在生產環境運維工作中,檢視線上伺服器日誌是一項常規工作。如果這項工作可以在瀏覽器中進行,而無需登入伺服器執行 tail -f 命令,就太方便了。我們可以使用 WebSocket 技術輕鬆實現這一目標。在本文中,我將帶各位一起使用 Python 編寫一個日誌檢視工

python編寫 VS 使用測試工具

nbsp soup 可控 .cn com 分享 效果 cnblogs 任務 接口測試工具有許多:soupui、postman、robotframe 為什麽還要學習編程的方式來做接口測試?測試工具的缺陷如下: 1.測試數據不可控制 2.無法測試加密接口 3.擴展能力不足: 定

使用Python編寫一個滲透測試探測器

python本篇將會涉及:資源探測一個有用的字典資源第一個暴力探測器資源探測資源探測在滲透測試中還是屬於資源的映射和信息的收集階段。 主要有以下三個類型:字典攻擊暴力破解模糊測試字典攻擊,在破解密碼或密鑰的時候,通過自定義的字典文件,有針對性地嘗試字典文件內所有的字典組合。暴力破解,也叫做窮舉法,按照特定的組

python編寫一個屏保程式(背單詞)

大家好,我是一名即將畢業的大學生,第一次在CSDN上發表文章,之前在其他的部落格上也寫過,但是總的來說,這個平臺的資源要多一些(個人覺得),所以有很多不懂的地方希望大家多多指教。 今天我要給大家分享的是一款自己寫的屏保程式,大學嘛大家最頭疼的就是四六級的考試了,上次考試做閱讀的時候,情不

hadoop平臺使用python編寫mapreduce排序小程式

編寫環境 hadoop-2.6.5 python-2.7.5 xshell連線 金山雲平臺,一臺master,3臺selvet 資料型別 g 445 a 1117 b 222 c 333 d 444 e 123 f 345 h 456

Linux(Ubuntu)下,讓SwingSwt編寫的Java桌面程式執行

本文以ubuntu 9.04為例 前提:先安裝帶jre的jdk(下面連結中的文中介紹) 先說Swing,Swing要簡單一些 (一) 隨便下個.jar的程式,這裡我選取的是 YOYOPlayer 下面是下載地址 (二) (1)方法一(指定由jre的jexec開啟)

Python編寫執行Hello World程式

簡介         我們將看一下如何用Python編寫執行一個傳統的“Hello World”程式。通過它,你將學會如何編寫、儲存和執行Python程式。          有兩種使用Python執行你的程式的方式——使用互動式的帶提示符的直譯器或使用原始檔。我們將學習這兩

在叢集上執行python編寫的spark應用程式(過程記錄)

啟動hadoop[email protected]:/usr/local/hadoop-2.7.5/sbin#./start-all.sh This script is Deprecated. Instead use start-dfs.shand start-ya