部署

本機運行 XYCMS 系統可以(yǐ)通過雙擊 xycms.exe 可執行文件(Windows 系統)或者命令行運行 xycms 執行程序(Linux 系統 及 MacOS 系統),但是(shì)如果希望在(zài)正式環境部署 XYCMS 系統,則需要(yào / yāo)額外的(de)托管和(hé / huò)部署操作。

一(yī / yì /yí)般而(ér)言,向托管環境部署 XYCMS 系統需執行以(yǐ)下操作:

  • 發布到(dào)文件夾,将 XYCMS 系統部署到(dào)托管服務器上(shàng)的(de)文件夾。
  • 設置反向代理,反向代理在(zài)收到(dào)請求時(shí)啓動應用,并在(zài)應用發生故障或服務器重啓後重新啓動應用,同時(shí)将請求轉發到(dào)應用。

發布到(dào)文件夾

.NET Core 應用可以(yǐ)發布爲(wéi / wèi)“獨立式部署”,也(yě)可以(yǐ)發布爲(wéi / wèi)“依賴框架的(de)部署”,XYCMS 系統采用的(de)是(shì)“依賴式部署”模式,運行 XYCMS 系統需要(yào / yāo)安裝 .NET Core 框架,然後将 XYCMS 系統文件夾部署至托管服務器上(shàng)的(de)文件夾即可運行,支持多個(gè)站點部署。

有關詳細信息,請參閱 在(zài) Linux 中運行 XYCMS 以(yǐ)及 在(zài) Windows 中運行 XYCMS。

設置反向代理

XYCMS 系統是(shì)一(yī / yì /yí)個(gè)控制台應用,在(zài)服務器啓動時(shí)必須啓動該應用,并且在(zài)安裝插件、卸載插件或者出(chū)現故障後必須重新啓動它。

反向代理服務器接收來(lái)自網絡的(de) HTTP 請求,并将這(zhè)些請求轉發到(dào) XYCMS。

XYCMS 直接與 Internet 通信,不(bù)使用反向代理服務器:

不(bù)使用反向代理

XYCMS 通過反向代理服務器(如 IIS、Nginx 或 Apache)間接與 Internet 進行通信:

使用反向代理

使用反向代理,還能獲得以(yǐ)下優勢:

  • 可以(yǐ)限制所承載的(de)應用中的(de)公開的(de)公共外圍應用。
  • 提供額外的(de)配置和(hé / huò)防護層。
  • 可以(yǐ)更好地(dì / de)與現有基礎結構集成。
  • 簡化了(le/liǎo)負載均衡和(hé / huò)安全通信 (HTTPS) 配置。 僅反向代理服務器需要(yào / yāo) X.509 證書,并且該服務器可使用普通 HTTP 在(zài)内部網絡上(shàng)與應用服務器通信。

::: notice 正式環境下部署 XYCMS 必須采用反向代理。 :::

用于(yú) XYCMS 系統的(de)最常見的(de)反向代理是(shì):

  • Linux
    • Nginx
    • Apache
  • Windows
    • IIS

Linux + Nginx

本節知識:如何在(zài) CentOS 上(shàng)将 Nginx 設置爲(wéi / wèi)反向代理服務器,以(yǐ)将 HTTP 流量重定向到(dào) XYCMS 系統。Ubuntu 以(yǐ)及其他(tā)版本的(de) Linux 操作系統的(de)部署流程與本文類似。

Linux + Apache

内容待完善

Windows + IIS

内容待完善

Docker

運行Windows WT

以(yǐ)下介紹Windows下 Docker Desktop 創建鏡像

依次運行以(yǐ)下代碼

docker --version
1
docker pull xueynet/xycms:latest
1
docker -image ls
1
docker ps -a
1
docker run -e TZ="Asia/Shanghai2" -d --name kingwelson-xycmss -p 8004:80 --restart=always -v D:\Work\T_kingwelson\wwwroot:/app/wwwroot -e XYCMS_SECURITY_KEY=e2a3d303-ac9b-41ff-9154-930710af0845 -e XYCMS_DATABASE_TYPE=SQLite xueynet/xycms:latest
1

運行完成後我們可以(yǐ)看到(dào)已在(zài)docker中創建了(le/liǎo)實例 kingwelson-xycmss RUNNING PORT:8004

04