嵌入式linux環(huán)境下web頁(yè)面技術(shù)的實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  嵌入式Linux環(huán)境下Web頁(yè)面技術(shù)的實(shí)現(xiàn)</p><p>  摘 要:介紹了通用網(wǎng)關(guān)接口(CGI)技術(shù)的工作原理,并選用Boa Server作為Web服務(wù)器,給出嵌入式Linux環(huán)境下的Web服務(wù)器參數(shù)配置方法,并利用該方法在S3C2410硬件開發(fā)板中實(shí)現(xiàn)了具體的Boa服務(wù)器環(huán)境,給出了一個(gè)具體的CGI應(yīng)用實(shí)例。 </p><p>  關(guān)鍵詞:嵌入式WEB;通用網(wǎng)

2、關(guān)接口 ;Boa ;Web服務(wù)器 </p><p>  1 通用網(wǎng)關(guān)接口技術(shù) </p><p>  CGI(Common Gateway Interface)是實(shí)現(xiàn)Web頁(yè)面技術(shù)的關(guān)鍵所在,其定義是Web服務(wù)器與外部應(yīng)用程序之間通信的標(biāo)準(zhǔn)接口。與專用編程接口相比具有以下優(yōu)點(diǎn): </p><p> ?、侏?dú)立于服務(wù)器體系結(jié)構(gòu)和編程語(yǔ)言。編程者可以自由選擇適合于特定

3、編程任務(wù)的語(yǔ)言。 </p><p> ?、谔峁┩暾倪M(jìn)程隔離機(jī)制。CGI程序獨(dú)立于Web服務(wù)器,運(yùn)行在自己的進(jìn)程地址空間,只與服務(wù)器交換接口信息,從而保證了服務(wù)器免受出錯(cuò)CGI進(jìn)程的影響和用戶的有意試探,提高了安全性和穩(wěn)定性。 </p><p>  CGI主要功能是在Web環(huán)境下,將WWW與Web數(shù)據(jù)庫(kù)集成在一起,順利地實(shí)現(xiàn)了動(dòng)態(tài)Web頁(yè)面查詢。從用戶端瀏覽器傳遞一些指令或參數(shù)給Web

4、服務(wù)器,CGI 腳本通過標(biāo)準(zhǔn)輸入STDIN獲得輸入信息,最后使用STDOUT輸出HTML形式的結(jié)果文件,經(jīng)Web服務(wù)器送回瀏覽器顯示給用戶。由于用戶能傳遞不同的參數(shù)給CGI 腳本,所以CGI技術(shù)使得瀏覽器和服務(wù)器之間具有很強(qiáng)交互性。 </p><p>  其具體工作過程如圖1所示。 </p><p>  其中,CGI與表單之間的信息交互方法有兩種模式:“GET”和“POST” 。選擇哪

5、一種模式取決于表單(FORM)的“METHOD”字段的設(shè)置,如果METHOD 設(shè)定為POST,數(shù)據(jù)會(huì)以STDIN 方式送入CGI接口;如果METHOD 設(shè)定為GET,數(shù)據(jù)會(huì)保存在QUERY_STRING的環(huán)境參數(shù)中,以供接口讀取。 使用GET方式編寫CGI 程序會(huì)更加簡(jiǎn)單,但是POST 方式則更先進(jìn)。 </p><p><b>  2 運(yùn)行環(huán)境 </b></p><p

6、>  根據(jù)CGI 的工作機(jī)理,在嵌入式系統(tǒng)中構(gòu)建CGI運(yùn)行環(huán)境需要解決下面幾個(gè)主要工作: </p><p>  (1) 軟硬件平臺(tái): ARM處理器,以高性能、低功耗、低成本等優(yōu)點(diǎn)獲得大量。操作系統(tǒng)方面,Linux因其開源性、可裁剪,廣泛支持ARM體系結(jié)構(gòu),備受親睞。無疑本文采用ARM-Linux作為CGI的系統(tǒng)平臺(tái)是很好的選擇。 </p><p>  (2) 合適的Web服務(wù)器:

7、目前的主流Web服務(wù)器,包括Apache ,httpd ,thttpd 和Boa等幾種。其中Boa開放源代碼,性能高,運(yùn)行所需空間僅為140KB左右,對(duì)CGI的支持效果最佳。因此,本文選擇Boa作為ARM-Linux系統(tǒng)的Web服務(wù)器。 </p><p>  (3) 運(yùn)行環(huán)境配置:不同的Web服務(wù)器的配置方法大同小異,具體過程中需要考慮的因素有:CGI的默認(rèn)啟動(dòng)路徑配置,CGI服務(wù)器根路徑(SERVER-ROO

8、T) 配置,CGI 腳本路徑動(dòng)態(tài)參數(shù)配置,CGI 源碼路徑配置。 </p><p>  (4) 交叉編譯生成目標(biāo)機(jī)模塊:在宿主機(jī)中完成了全部的配置工作后,需要利用特定平臺(tái)的交叉編譯工具來生成特定平臺(tái)的交叉編譯模塊,然后再下載到目標(biāo)機(jī)。 </p><p>  3 Web服務(wù)器Boa在ARM-Linux平臺(tái)上的構(gòu)建 </p><p>  選用ARM-Linux平臺(tái)

9、作為嵌入式系統(tǒng)CGI,在S3C2410開發(fā)板上構(gòu)建Boa服務(wù)器的具體過程為: </p><p>  3.1 對(duì)Boa源碼進(jìn)行交叉編譯 </p><p>  此過程中需要在/boa/src/configure文件中添加CC與CPP交叉編譯選項(xiàng),同時(shí)還要對(duì)Makefile文件中CC與CPP選項(xiàng)做同樣的改動(dòng)。在Redhat虛擬操作系統(tǒng)下:CC=/opt/host/ armv4l/bin/ar

10、mv4l-unknown-linux-gcc;CPP =/opt/host/armv4l/bin/armv4l-unknown-linux.cpp,然后make即可生成所需平臺(tái)的Boa可執(zhí)行文件。 </p><p>  3.2 Boa的配置 </p><p>  Boa的配置是在boa.conf文件里進(jìn)行設(shè)定,該文件是一個(gè)文本文件,由一些規(guī)則組成,用于配置Boa 服務(wù)器時(shí)指定相應(yīng)接口、

11、服務(wù)器名稱、一些相關(guān)文件路徑等。對(duì)其具體修改如下: </p><p> ?、賹ser nobody改為User 0 </p><p> ?、趯roup nogroup 改為Group 0  </p><p> ?、蹖ocumentRoot/var/www改為DocumentRoot/home/httpd/html </p><p&g

12、t;  ④定義CGI 程序所在的目錄:ScriptAlias/cgi2bin/home/httpd/cgi2bin/ ⑤定義默認(rèn)頁(yè)面文件,配置后的Boa服務(wù)器將/home/ httpd 作為服務(wù)器的根目錄,CGI 程序放在/home/httpd/cgi2bin目錄下,靜態(tài)網(wǎng)頁(yè)文件放在/home/ httpd/html 目錄下 </p><p>  接著將生成的Boa 可執(zhí)行文件加入到ramdisk中的/bin/

13、下,并把修改后的boa. conf拷貝到Web服務(wù)器根目錄/home/httpd/下。 </p><p>  3.3 重新編譯內(nèi)核 </p><p>  將編譯好的內(nèi)核下載到開發(fā)板,啟動(dòng)Boa Web Server,然后就可以通過IE瀏覽器在用戶端訪問目標(biāo)板中的網(wǎng)頁(yè)。 </p><p><b>  4 應(yīng)用實(shí)例 </b></p>

14、;<p>  本文整個(gè)測(cè)試環(huán)境由一個(gè)S3C2410嵌入式開發(fā)板 ,一臺(tái)Windows PC機(jī)組成,一個(gè)人用來獲取數(shù)據(jù)的讀寫器組成,搭建了ARM9平臺(tái)上的CGI運(yùn)行環(huán)境,并舉出了利用IE瀏覽器訪問開發(fā)板上的RFID標(biāo)簽數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)RFID標(biāo)簽數(shù)據(jù)的嵌入式動(dòng)態(tài)Web查詢的應(yīng)用實(shí)例。測(cè)試環(huán)境如圖2所示。 </p><p>  在測(cè)試時(shí),配置IP 分別為192.168.10.1,192.168.10.2

15、。開發(fā)板和宿主機(jī)之間通過網(wǎng)線連接.通過瀏覽器點(diǎn)擊192.168.10.1,并設(shè)置相關(guān)參數(shù),就可以查詢到原始的標(biāo)簽數(shù)據(jù)列表。測(cè)試結(jié)果如圖3所示。 </p><p><b>  5 結(jié)語(yǔ) </b></p><p>  本文對(duì)嵌入式Linux環(huán)境下的Web服務(wù)及CGI的工作機(jī)理進(jìn)行了分析,提出了在嵌入式ARM-Linux環(huán)境下Boa Server 的實(shí)現(xiàn)方法,使用戶在瀏覽

16、器端對(duì)指定的嵌入式設(shè)備進(jìn)行遠(yuǎn)程操作。雖然不同的嵌入式系統(tǒng)往往會(huì)選用不同硬件平臺(tái)以及操作系統(tǒng),但是對(duì)于嵌入式系統(tǒng)環(huán)境下CGI腳本的開發(fā)方法和Web服務(wù)器的構(gòu)建,本文都給出了一個(gè)較好的思路。 </p><p><b>  參考文獻(xiàn) </b></p><p> ?。?]黃光奇.CGI編程指南[M].電子工業(yè)出版社,1999. </p><p>

17、; ?。?]馬曉光.組建Linux服務(wù)器[M].人民郵電出版社,2001,(4). </p><p>  [3]張斌,高波. Linux平臺(tái)下的Web 編程[M].清華大學(xué)出版社,2000,(10). </p><p> ?。?]王剛,陳西宏.基于Linux的動(dòng)態(tài)Web技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究, 2001,(9). </p><p> ?。?]薛

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論