CGI教程 第四章 基本調(diào)試環(huán)境的建立
發(fā)布時(shí)間:2008-08-26 閱讀數(shù): 次 來(lái)源:網(wǎng)樂(lè)原科技
我想不是每個(gè)閱讀教程的朋友有機(jī)會(huì)接觸到服務(wù)器之類(lèi)的東西的。所以在接下去的
閱讀過(guò)程中沒(méi)有調(diào)試環(huán)境的朋友將會(huì)非常吃力。為了解決這個(gè)問(wèn)題,我特別介紹一
種在 win95或nt上建立WEB SITE的方法,以便各位能很好的閱讀程序。不過(guò)本方法
內(nèi)使用的軟件都比較大,如果你不是一個(gè)真正的網(wǎng)絡(luò)發(fā)燒友,或許你會(huì)放棄這個(gè)教
程。這個(gè)我也沒(méi)有辦法,要知道喜歡一樣?xùn)|西總是要付出代價(jià)的。
1.win95&winnt的Server軟件:
首先我要各位弄清楚一個(gè)概念,所謂Sever只是指在一臺(tái)電腦上安裝了一個(gè)特別的
軟件。該軟件可以提供internet web site服務(wù)。這臺(tái)電腦不一定要是什么特別好
的機(jī) 器,只要它能夠很好的運(yùn)行Server軟件就可以了。比如我們的個(gè)人電腦就可
以承擔(dān)這個(gè)任務(wù)。 在Windows95下運(yùn)行的server軟件不是很多,而且是屬于“業(yè)余
”的。就是說(shuō)離真正的商業(yè)使用有很大的距離。這主要是windows95平臺(tái)的局限,
比如很差的安全性,不穩(wěn)定的內(nèi)存分配系統(tǒng),混亂的文件系統(tǒng)以及最差的進(jìn)程管理。
不過(guò)這些不影響我們使用CGI程序,特別是一個(gè)人調(diào)試自己的程序,而不是放在
internet給數(shù)萬(wàn)個(gè)人訪問(wèn)。其代表是MS在windows OSR離提供的pws(person web
server)。你可以通過(guò)控制面版-->網(wǎng)絡(luò)-->服務(wù)-->Ms-->個(gè)人WEB服務(wù)器安裝它。不
過(guò)我希望你們最好還是不要使用這個(gè)東西,因?yàn)樗鼘?duì)我們下面的課程沒(méi)有什么幫助。
我曾試驗(yàn)過(guò)用它來(lái)和我的perl程序相連,但很顯然不支持perl。雖然有消息說(shuō)修改
注冊(cè)表可以解決這個(gè)問(wèn)題,但我到現(xiàn)在還是沒(méi)有找到方法。
相對(duì)而言,Windows NT因?yàn)槠涠ㄎ坏牟煌梢蕴峁┹^理想的操作平臺(tái)。而且NT自
帶有IIS(Internet Information Server)。不過(guò)是2.0版的,如果你有IIS3.0就更好
了。到本文寫(xiě)成的時(shí)候,IIS已經(jīng)有了4.0版本。當(dāng)然我相信不是所有人會(huì)去下載這
個(gè)東西,因?yàn)橛?104M。
上面講了這么多,實(shí)際上我要給各位推薦的是WebSite for win95&NT。就是說(shuō)兩個(gè)
操作系統(tǒng)都可以使用它?,F(xiàn)在的版本是2.1,有17M。顯然是一個(gè)很大的軟件,不過(guò)
正如我說(shuō)的, 喜歡一樣?xùn)|西是有代價(jià)的。你可以在http://www.windows95.com里找
到這個(gè)程序。 WebSite支持winCGI,也支持perl寫(xiě)的CGI程序。顯然這是一個(gè)好東西,
可以滿足我們的要求。雖然大了些,不過(guò)要是你能找到website 1.1的話也不錯(cuò),它
大概有4M左右。不過(guò)我在網(wǎng)上從沒(méi)發(fā)現(xiàn)有下載的地方。
2.Perl for win32
Perl,讓人激動(dòng)的名字。我想再也找不到一個(gè)編程語(yǔ)言可以如此出色的完成基本CGI程
序的開(kāi)發(fā)了。我感謝那些為perl移植做出貢獻(xiàn)的朋友們,是他們讓我們可以在win平
臺(tái)上使用如此如此強(qiáng)大的Unix工具。 你可以在perl的主頁(yè)上找到perl for win32版本,
當(dāng)前版本是5.02。你也可以在 http://download.ihw.com.cn里找到perl for win32版
本。大概是2.5M。
3.VB
VB是我們寫(xiě)WinCGI程序最好的選擇。我推薦各位使用vb4。不是因?yàn)関b5不好,只是在 Internet上支持它的文檔和免費(fèi)代碼太少了。
4.C&C++
這個(gè)教程里幾乎沒(méi)有用C&C++寫(xiě)的代碼,因?yàn)樗m合高級(jí)程序員而不是我們這些業(yè)余選手。不過(guò)你要是一定使用它我也沒(méi)有意見(jiàn)。
5.安裝。
好了,我們開(kāi)始建立基本環(huán)境。就是說(shuō)我們要在自己的機(jī)器上建立一個(gè)WEB SITE!
首先安裝Website。按照它標(biāo)準(zhǔn)的安裝界面,你可以輕松的完成這個(gè)工作。缺省
情況下它將被安裝到c:\website下。我提醒各位注意這幾個(gè)目錄:
cgi-shl:這個(gè)是基本的cgi目錄,也就是各位朝思暮想的地方!
cgi-win:這個(gè)cgi目錄里放的是WinCgi程序。 其他的各位自己研究吧。
好了,在裝完Website后請(qǐng)確認(rèn)它已經(jīng)運(yùn)行。在狀態(tài)攔地右下角會(huì)有一個(gè)齒輪地圖標(biāo),
它表示website正在運(yùn)行。接下去請(qǐng)打開(kāi)你地瀏覽器,在url輸入你機(jī)器的ip地址,
如果沒(méi)有 ip,請(qǐng)輸入:127.0.0.1。注意,做這些動(dòng)作的時(shí)候,最好請(qǐng)你使用netscape,
而且你不必連上網(wǎng)絡(luò)! 如果一切順利的話,你將看到website的標(biāo)記,那證明你已經(jīng)
成功了!
接下去我們安裝perl。 下載后的perl是一個(gè)自解開(kāi)文件,它會(huì)問(wèn)你安裝到哪個(gè)目錄。
缺省是c:\perl,接著它展開(kāi)并產(chǎn)生幾個(gè)自目錄。在安裝結(jié)束的時(shí)候,它會(huì)修改autoexec.bat,把c:\perl\bin加入 path,請(qǐng)一定要這么做,道理我會(huì)在下面解釋。
最后請(qǐng)隨便寫(xiě)一個(gè)以.cgi或.pl結(jié)尾的文本文件。直接雙擊它,并為它加上關(guān)聯(lián)。
.pl或 .cgi的關(guān)聯(lián)文件是c:\perl\bin\perl.exe。這步很重要,不然你無(wú)法完成接下去
的學(xué)習(xí)。 那么為什么我們要加路徑呢?因?yàn)閜erl是一種文本解釋型語(yǔ)言,就是說(shuō)它沒(méi)
有編譯的過(guò)程, 只有在運(yùn)行的時(shí)候解釋。解釋一句運(yùn)行一句。所以我們必須讓系統(tǒng)知
道perl.exe在哪里。
6.測(cè)試
最后我們進(jìn)行一個(gè)測(cè)試。請(qǐng)把下面的兩個(gè)程序下載并運(yùn)行它們:
1.html文件:這是測(cè)試程序的客戶端內(nèi)容,請(qǐng)以test.htm保存它。并把它放在c:\website\hotdocs\ 下,那是你的website缺省的根目錄。
test.htm:
<html>
<title>你的第一個(gè)perl測(cè)試程序</title>
<body>
<h1>你的第一個(gè)perl測(cè)試程序<h1><br>
<h2>win 平臺(tái)的環(huán)境變量測(cè)試</h2><br>
<form method="get" acton="http://127.0.0.1/cgi-shl/env.pl">
<input type=submit value="查看CGI環(huán)境變量">
</form>
</body>
</html>
2.Perl文件:請(qǐng)使用任意一個(gè)文本編輯器,輸入后以env.pl保存到
c:\website\cgi-shl\下。
#! perl
print"Content-type:text/html\n\n";
print"<title>Windows環(huán)境變量</title>";
print"<body>恭喜你的website已經(jīng)成功<br>";
foreach $key(sort keys %ENV){
print"$key=$ENV{$key}<br>"; }
PRINT"</BODY>";
在完成上面的工作后,請(qǐng)打開(kāi)瀏覽器,輸入http://127.0.0.1/test.htm。
當(dāng)然如果你的機(jī)器是以TCP/IP方式 連在局域網(wǎng)上,請(qǐng)把127.0.0.1改成你
的ip地址(還有test.htm里的。)然后按下那個(gè)鍵,當(dāng)你的瀏覽器去向另
一個(gè) 頁(yè)面的時(shí)候,今天的任務(wù)就算是完成了。