切換數據存儲方式包括以下幾種: 將文本內容存儲在SqlServer、MySQL、MongoDB等資料庫中 將站點配置信息存儲在資料庫中 將後臺用戶信息存儲在資料庫中 將會員信息存儲在資料庫中 將圖片、視頻等媒體資源存儲在網站目錄以外的地方 切換內容資料庫 Kooboo CMS預設文本數據使用XML文 ...
切換數據存儲方式包括以下幾種:
- 將文本內容存儲在SqlServer、MySQL、MongoDB等資料庫中
- 將站點配置信息存儲在資料庫中
- 將後臺用戶信息存儲在資料庫中
- 將會員信息存儲在資料庫中
將圖片、視頻等媒體資源存儲在網站目錄以外的地方
切換內容資料庫
Kooboo CMS預設文本數據使用XML文件存儲的方式,媒體資源使用文件夾存儲的方式,在多數據情況下,我們建議開發人員在開發時使用預設的存儲方式,等到部署時再整站點導入到生產環境。
切換文本內容(TextContent)的存儲方式
Kooboo CMS預設將文本內容以XML的形式存儲,這裡以存儲到SqlServer為例簡要描述步驟:
- 導出已經創建好的站點。
- 從https://github.com/Tsingbo-Kooboo/KoobooMvc5/releases/latest下載“Content_Providers.zip”並解壓,找到裡面的SQLServer子目錄。
- 將SQLServer目錄中的所有文件(Kooboo.CMS.Content.Persistence.SQLServer.dll與SqlServer.config)拷貝到Kooboo CMS的Bin目錄中。
- 修改相應的連接串配置文件(SqlServer.config)。
- 重新創建或導入站點。
其它幾種數據存儲(站點配置信息、後臺用戶信息、會員信息)的切換方式都類似,就不一一詳談。
切換媒體內容(MediaContent)的存儲方式
Kooboo CMS預設將媒體資源存儲在站點內容目錄下(位於/Cms_Data/Contents/{RepositoryName}/Media下),同時Kooboo CMS也支持將媒體資源存儲在Azure blob storage或者自建的文件系統中。存儲在Azure blob storage的切換方式與文本內容的切換方式類似,就不重覆描述。
以下簡要說說自建文件系統的搭建方法:
- 從這裡下載“FileServer_Web.zip”並解壓。
- 在IIS中新建一個站點(以下稱之為“資源站”)並指向上一步解壓的目錄。
修改資源站中web.config裡面appSettings中的幾個值:
AccountName:賬號名,可以設置自己喜歡的用戶名,該用戶名與CMS中的用戶名沒有關係。 AccountKey:密碼,可以設置自己喜歡的密碼。 BaseUri:功能變數名稱地址,媒體資源的url會與此有關,請確保該地址的準確性,也可放空。
- 從“Content_Providers.zip”解壓的目錄裡面找到FileServerProvider子目錄,並把裡面的所有文件拷貝到Kooboo CMS的Bin目錄中。
修改配置文件(FileServerProviderSettings.config)中的幾個值:
AccountName:賬號名,需要與“資源站”的web.config中的值一樣。 AccountKey:密碼,需要與“資源站”的web.config中的值一樣。 Endpoint:功能變數名稱地址,填寫“資源站”所在的URL地址。
切換資料庫常見的問題
數據丟失
切換為無結構的資料庫(MongoDB、CouchBase)後,如果站點沒有重新導入,站點運行不會出錯,但是內容數據將會丟失。提示Invalid object name
切換為有結構資料庫(SQLServer,SQLCe,MySQL)後,如果站點沒有重新導入,在運行時會出現找不到數據表的錯誤。因為有結構資料庫,需要重新導入站點來重建數據表和導入數據。