部署

本機運行 XYCMS 系統可以通過(guò)雙擊 xycms.exe 可執行文件(Windows 系統)或者命令行運行 xycms 執行程序(Linux 系統 及 MacOS 系統),但是如果希望在正式環境部署 XYCMS 系統,則需要額外的托管和部署操作。

一般而言,向(xiàng)托管環境部署 XYCMS 系統需執行以下操作:

  • 發(fā)布到文件夾,將(jiāng) XYCMS 系統部署到托管服務器上的文件夾。
  • 設置反向(xiàng)代理,反向(xiàng)代理在收到請求時(shí)啓動應用,并在應用發(fā)生故障或服務器重啓後(hòu)重新啓動應用,同時(shí)將(jiāng)請求轉發(fā)到應用。

發(fā)布到文件夾

.NET Core 應用可以發(fā)布爲“獨立式部署”,也可以發(fā)布爲“依賴框架的部署”,XYCMS 系統采用的是“依賴式部署”模式,運行 XYCMS 系統需要安裝 .NET Core 框架,然後(hòu)將(jiāng) XYCMS 系統文件夾部署至托管服務器上的文件夾即可運行,支持多個站點部署。

有關詳細信息,請參閱 在 Linux 中運行 XYCMS 以及 在 Windows 中運行 XYCMS。

設置反向(xiàng)代理

XYCMS 系統是一個控制台應用,在服務器啓動時(shí)必須啓動該應用,并且在安裝插件、卸載插件或者出現故障後(hòu)必須重新啓動它。

反向(xiàng)代理服務器接收來自網絡的 HTTP 請求,并將(jiāng)這(zhè)些請求轉發(fā)到 XYCMS。

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

不使用反向(xiàng)代理

XYCMS 通過(guò)反向(xiàng)代理服務器(如 IIS、Nginx 或 Apache)間接與 Internet 進(jìn)行通信:

使用反向(xiàng)代理

使用反向(xiàng)代理,還(hái)能(néng)獲得以下優勢:

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

::: notice 正式環境下部署 XYCMS 必須采用反向(xiàng)代理。 :::

用于 XYCMS 系統的最常見的反向(xiàng)代理是:

  • Linux
    • Nginx
    • Apache
  • Windows
    • IIS

Linux + Nginx

本節知識:如何在 CentOS 上將(jiāng) Nginx 設置爲反向(xiàng)代理服務器,以將(jiāng) HTTP 流量重定向(xiàng)到 XYCMS 系統。Ubuntu 以及其他版本的 Linux 操作系統的部署流程與本文類似。

Linux + Apache

内容待完善

Windows + IIS

内容待完善

Docker

運行Windows WT

以下介紹Windows下 Docker Desktop 創建鏡像

依次運行以下代碼

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

運行完成(chéng)後(hòu)我們可以看到已在docker中創建了實例 kingwelson-xycmss RUNNING PORT:8004

04