Web框架介紹與使用說明_第1頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、框架介紹及使用說明這是一個(gè)MVC模式的WEB框架,框架有CGI和FastCGI兩種模式。CGI(Common Gateway Interface)公共網(wǎng)關(guān)接口,是HTTP服務(wù)器與其他程序通信的工具。FastCGI是一個(gè)long-live型的CGI,支持分布式計(jì)算,它將CGI解釋器進(jìn)程保持在內(nèi)存中并因此獲得較高的性能。FastCGI工作方式是接受Web服務(wù)器的請求,以HTTP Request的方式進(jìn)行響應(yīng),實(shí)現(xiàn)了應(yīng)用程序與Web服務(wù)器的分離。它的使用需要在Web服務(wù)器中安裝支持組件,目前支持Apache、Nginx、IIS、Lighttpd等??蚣艿膬?yōu)點(diǎn)有:穩(wěn)定性,框架是以獨(dú)立的進(jìn)程池運(yùn)行來運(yùn)行

2、,單獨(dú)一個(gè)進(jìn)程死掉,系統(tǒng)可以很輕易的丟棄,然后重新分配新的進(jìn)程來運(yùn)行邏輯安全性,框架和宿主的server完全獨(dú)立,框架怎么down也不會把server搞垮性能,框架把動態(tài)邏輯的處理從server中分離出來, 大負(fù)荷的IO處理還是留給宿主server, 這樣宿主server可以一心一意作IO,對于一個(gè)普通的動態(tài)網(wǎng)頁來說,,邏輯處理可能只有一小部分,大量的圖片等靜態(tài)IO處理完全不需要邏輯程序的參與擴(kuò)展性,框架擁有良好的可擴(kuò)展性,可根據(jù)需求對框架進(jìn)行擴(kuò)展。保密性,框架使用C+進(jìn)行編譯,編譯產(chǎn)生的CGI文件無法看到源碼,并且框架的CGI文件只能執(zhí)行一個(gè),執(zhí)行中文件不能替換。即便是惡意上傳了CGI文件也

3、無法執(zhí)行。SEO優(yōu)化,框架有著很方便的偽靜態(tài)功能,可以非常方便的優(yōu)化SEO。高效性,C+擁有非常高效的執(zhí)行效率,響應(yīng)速度遠(yuǎn)比其他腳本語言快得多。方便調(diào)試,框架有日志功能,自動記錄錯(cuò)誤信息。調(diào)試很方便。數(shù)據(jù)庫自動連接,框架可以通過配置文件自動連接MySQL,MariaDB,sqlite數(shù)據(jù)庫??缙脚_,框架可以在Windows和Linux系統(tǒng)編譯和運(yùn)行,使用起來很方便。開發(fā)周期短,可以在最短時(shí)間內(nèi)開發(fā)出強(qiáng)大的Web后臺??蚣懿渴鹂墒褂肁pache或其他web服務(wù)器來部署框架,下面以Apache做示范。# STEP:1.開啟基于主機(jī)的組授權(quán)(去掉下面這行的注釋即可)(默認(rèn)是開啟的,可以跳過)Load

4、Module access_compat_module modules/mod_access_compat.so# STEP:2.開啟apache的代理模塊(直接去掉前面的注釋即可)(默認(rèn)是開啟的,可以跳過)LoadModule proxy_module modules/mod_proxy.so# STEP:3.開啟代理http和https請求(直接去掉前面的注釋即可)(默認(rèn)是開啟的,可以跳過)LoadModule proxy_http_module modules/mod_proxy_http.so# STEP:4.開啟rewrite模式(直接去掉前面的注釋即可)LoadModule rew

5、rite_module modules/mod_rewrite.so# STEP:5.開啟CGI和FCGI及SSL配置(直接去掉前面的#注釋即可)(fcgi可能沒有需要下載)LoadModule cgi_module modules/mod_cgi.soLoadModule ssl_module modules/mod_ssl.soLoadModule fcgid_module modules/mod_fcgid.so# STEP:6.開啟CGI路徑的訪問權(quán)限 可以選擇默認(rèn)目錄也可以選擇cgi-bin,有權(quán)限執(zhí)行就行。 AllowOverride All Options +ExecCGI Or

6、der allow,deny Allow from all# STEP:7.修改映射地址 使用默認(rèn)目錄則無需此步驟ScriptAlias /cgi-bin/ G:/var/www/cgi-bin/ # STEP:8.添加后綴(重點(diǎn)?。〢ddHandler cgi-script .cgi .pl .pyAddHandler fcgid-script .fcgi# STEP:9.添加默認(rèn)首頁和CGI執(zhí)行權(quán)限(重點(diǎn)?。㎡ptions FollowSymLinks ExecCGIDirectoryIndex index.cgi index.fcgi完成配置之后開啟Apache就可以運(yùn)行Web框架了。解

7、壓群文件中的根目錄.zip 即可得到項(xiàng)目目錄。將編譯好的cgi或者fcgi文件放入跟目錄即可運(yùn)行。開啟apache服務(wù)后瀏覽器訪問localhost或自定義域名即可訪問。框架目錄與結(jié)構(gòu)Application目錄是框架核心目錄,用于存放配置文件和HTML文件。View目錄下放置各控制器的HTML文件,以控制器類名區(qū)分。如CIndex控制器的文件放在index目錄下,CLogin控制器的文件放在login目錄下。Config.txt文件是框架的配置文件,用于配置框架的各種屬性,詳細(xì)配置可打開查看。Database.txt文件用于框架與數(shù)據(jù)庫的連接,目前支持MySQL/MariaDB/Sqlite數(shù)

8、據(jù)庫,配置好之后,框架即可自動連接到目標(biāo)數(shù)據(jù)庫。跳過CModel對象即可直接使用。Route.txt文件是偽靜態(tài)配置文件,用于偽靜態(tài)的路由配置。格式如下:偽靜態(tài):控制器/方法: 如 index:index/index: 表示訪問 index.html 等同于訪問index/indexDatabase目錄則是默認(rèn)的sqlite數(shù)據(jù)庫路徑,并非必須存在。也可以更換為其他目錄。Log目錄是存放框架日志的目錄,若此目錄不存在,框架會自動創(chuàng)建該目錄。Public目錄是存放項(xiàng)目公共部分文件的目錄,如CSS/JS/Image等。Session目錄用于存放會話,若此目錄不存在框架會自動創(chuàng)建。.htaccess

9、 文件是apache的配置文件,用于指定cgi或fcgi文件??蚣艿木幾g與使用框架可使用多個(gè)編譯器,推薦使用vs2010或vs2019,下面使用這兩個(gè)編譯器作為示范。Vs2010:先創(chuàng)建一個(gè)空項(xiàng)目。完成后修改項(xiàng)目版本為Release版本(重要)修改目標(biāo)文件名和擴(kuò)展名為index和.cgi(或fcgi)附加框架的目錄(重點(diǎn))修改運(yùn)行庫為多線程(/MT)接下來添加一個(gè)C+類,并且繼承框架的控制器類。(別忘了包含框架的頭文件)繼承后,我們的CIndex就變成了一個(gè)控制器類,可以直接使用控制器方法了。接下來,寫一個(gè)靜態(tài)方法index() 這樣子,一個(gè)最簡單的控制器就寫好了。接下來,就要注冊這個(gè)控制器,

10、并使用。首先添加一個(gè)新建項(xiàng)用于編寫入口綁定路由之后,就可以通過請求對應(yīng)的路由或偽靜態(tài)來訪問了。(重點(diǎn))接下來有兩種選擇,要么使用框架靜態(tài)庫,要么直接引用框架項(xiàng)目。先來說說使用靜態(tài)庫的方式:先編譯好框架,然后附加靜態(tài)庫依賴。第二種方法是直接引用框架項(xiàng)目先添加框架項(xiàng)目然后引用框架好了,這樣子就大功告成了。按下F7進(jìn)行編譯,編譯完成后就可以得到index.cgi或index.fcgi了。然后把得到的index.cgi或index.fcgi放入根目錄下,然后開啟apacheWeb服務(wù)器。瀏覽器中訪問項(xiàng)目站點(diǎn)就可以訪問到了。是不是很簡單呢。然后來說下url訪問吧,如果控制器和方法均為空,也就是直接訪問l

11、ocalhost那么就會默認(rèn)訪問到index控制器的index方法,也就是說,等價(jià)于訪問index/index要注意的是,必須是注冊過的路由才能訪問,若是沒有注冊過,那么就不能訪問。例如,訪問index/admin 這個(gè)是沒有注冊過的路由,自然沒辦法訪問到了。然后說一下偽靜態(tài),首先打開application目錄下的route.txt添加一條偽靜態(tài) 格式在上一章說過了。這樣子就可以通過偽靜態(tài)來訪問了。訪問index.html 等價(jià)于訪問index/index如果在使用過程中出現(xiàn)了錯(cuò)誤,那么可以查看日志文件日志文件在根目錄的log目錄下若要查看更為詳細(xì)的Demo示例項(xiàng)目,可下載群文件中的Demo示例項(xiàng)目。Linux下的安裝與使用: 首先安裝依賴的工具,包括:gcc g+ make然后獲取并安裝 CgiManager 庫git:ShadowViolet/CgiManager.gitcd CgiManagermakemake install在任意位置新建 main.cpp,以基本的 hello wor

溫馨提示

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

最新文檔

評論

0/150

提交評論