一、 sae與Discuz!的簡(jiǎn)單介紹 sae是不支持IO操作的,代碼目錄不能寫入。這意味著普通程序的上傳圖片、生成緩存等操作都不能在SAE上正常運(yùn)行,這時(shí)候你需要對(duì)這些代碼進(jìn)行修改后才能讓你的程序運(yùn)行在SAE上。
sae為啥禁止IO寫操作
SAE采用分布式架構(gòu)設(shè)計(jì), 應(yīng)用代碼將部署在多臺(tái)前端服務(wù)器上, 每次訪問(wèn)請(qǐng)求可能到達(dá)不同服務(wù)器。(如下圖):
假設(shè)現(xiàn)在有A、B、C、D四臺(tái)服務(wù)器。用戶上傳一張圖片到A服務(wù)器,第二次訪問(wèn)請(qǐng)求可能到達(dá)B服務(wù)器,此時(shí)將無(wú)法獲取保存在A服務(wù)器上的圖片。
SAE使用MemcacheX、Storage等存儲(chǔ)型服務(wù)代替?zhèn)鹘y(tǒng)IO操作,效率比傳統(tǒng)IO讀寫操作高,有效解決因IO瓶頸導(dǎo)致程序性能低下的問(wèn)題。
Discuz!方面,discuz的流程控制大概是這樣的:
后臺(tái)流程控:DZ后臺(tái)所有的功能,均需要注冊(cè)到admincp.php文件,每個(gè)功能都至少有一個(gè)或一個(gè)以上的Action(動(dòng)作),在 admincp.php中,可以定義Action的執(zhí)行權(quán)限,分別為:“admin==1”管理員,或“admin==2 || admin==3”超級(jí)版主和版主,每個(gè)Action對(duì)應(yīng)一個(gè)腳本文件,腳本文件的命名為action.inc.php(*.inc.php),并存放在 admin目錄下,如執(zhí)行:admincp.php?action=dodo,相當(dāng)于執(zhí)行admin目錄下的dodo.inc.php文件
前臺(tái)流程控制:前臺(tái)的流程控制比較簡(jiǎn)單:流程是自由的,首頁(yè)index.php、會(huì)員注冊(cè)register.php、會(huì)員登錄logging.php、發(fā)貼程序post.php、會(huì)員信息:member.php等,此處不一一列出。
Discuz!的顯示層就是大家通常所看到的網(wǎng)站風(fēng)格了。DZ中每套風(fēng)絡(luò)分別在templates及images下對(duì)應(yīng)一個(gè)風(fēng)格文件的存放目錄。網(wǎng)站風(fēng)格的制作,請(qǐng)參閱詳細(xì)的DZ風(fēng)格制作文檔
DZ網(wǎng)站風(fēng)格文件處理的原理其實(shí)很簡(jiǎn)單,DZ使用template.func.php中的parse_template()以PHP正則運(yùn)算把htm模文件中的模板標(biāo)簽,轉(zhuǎn)換成了PHP代碼,并根據(jù)styleid保存在forumdata/templates下,這個(gè)有點(diǎn)像Smarty中的技術(shù)。
二、discuz安裝詳解 下面為大家介紹在sae上安裝discuz。
1 SAE環(huán)境配置 1.1創(chuàng)建應(yīng)用 當(dāng)然在上傳前你需要在新浪SAE下新建一個(gè)應(yīng)用。
由于你創(chuàng)建的網(wǎng)站是在新浪SAE下面的,所以使用的是sinaapp.com的二級(jí)域名。你主要在SAE后臺(tái)寫一下二級(jí)域名的名字和應(yīng)用名字就行了。
1.2初始化數(shù)據(jù)庫(kù) 登陸你的SAE應(yīng)用管理后臺(tái),點(diǎn)擊mysql,初始化數(shù)據(jù)庫(kù)。
1.3開啟Memcache 開啟memcache,10M就可以了。
1.4創(chuàng)建Storage 創(chuàng)建名為discuzx的storage(公有,別建私有的域)。
2 上傳代碼 登陸你的SAE應(yīng)用管理后臺(tái),點(diǎn)擊“代碼管理”,創(chuàng)建一個(gè)新版本。
出現(xiàn)上傳代碼框,直接選擇代碼包上傳就行,要等待一會(huì)。
3 Discuz!X安裝 3.1安裝 訪問(wèn)安裝鏈接http://appname.sinaapp.com/install/ ,把a(bǔ)ppname改成你應(yīng)用二級(jí)域名的前綴。我剛才建的是luntan123,所以接著輸入
安裝過(guò)程中,忽略環(huán)境不支持的提示,直接進(jìn)入下一步。填寫您的用戶名密碼即可,無(wú)需修改數(shù)據(jù)庫(kù)信息的配置(建議不要修改表前綴,因?yàn)楹罄m(xù)有很多操作需要默認(rèn)前綴)。
點(diǎn)擊我同意,在點(diǎn)擊下一步,選擇默認(rèn)“全新安裝Discuz! X (含 UCenter Server)”繼續(xù)點(diǎn)擊下一步,
就是安裝數(shù)據(jù)庫(kù),都與都是默認(rèn)的,你主要填寫系統(tǒng)信息email,管理員email,切忌這兩項(xiàng)一定要寫,不然無(wú)法安裝,管理員賬號(hào)就直接用默認(rèn)的admin就行了,設(shè)置和確認(rèn)一下你的密碼,在點(diǎn)擊下一步
然后你的Discuz! X2論壇就安裝成功啦。這個(gè)是做的地址http://luntan123.sinaapp.com/。當(dāng)然在安裝好之后一定要通過(guò)SDK把install目錄文件下的index.php文件給刪除了。
3.2更新緩存 操作流程:工具-》更新緩存-》確定。
3.3執(zhí)行uploadimg.php將discuzx的圖片上傳到storage 訪問(wèn)根目錄的uploadimg.php即可上傳圖片到storage。原因是由于discuzx使用的css緩存文件存儲(chǔ)在storage上,而css中的圖片使用了相對(duì)路徑,故圖片需要上傳到storage上。uploadimg.php文件執(zhí)行一次之后可刪除。
這步不操作的話,前臺(tái)頁(yè)面訪問(wèn)會(huì)有樣式缺圖片。完成后就能美觀的顯示啦。
OK就介紹到這里~~
https://zhuanlan.zhihu.com/p/571538959
http://www.hxyhyz.com
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對(duì)接開發(fā)等。十余年開發(fā)經(jīng)驗(yàn),每一個(gè)項(xiàng)目承諾做到滿意為止,多一次對(duì)比,一定讓您多一份收獲!