部署
本機運行 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)代理服務器:
XYCMS 通過(guò)反向(xiàng)代理服務器(如 IIS、Nginx 或 Apache)間接與 Internet 進(jìn)行通信:
使用反向(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
docker pull xueynet/xycms:latest
docker -image ls
docker ps -a
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
運行完成(chéng)後(hòu)我們可以看到已在docker中創建了實例 kingwelson-xycmss RUNNING PORT:8004