這篇文章主要為大家介紹了CentOS上運行ZKEACMS的詳細過程,具有一定的參考價值,感興趣的小夥伴們可以參考一下
ZKEACMS Core 是基於 .net core 開發的,可以在 windows, linux, mac 上跨平台運行,接下來我們來看看如何在 CentOS 上運行 ZKEACMS。
安裝 .Net Core 運行時
運行以下命令,安裝 .Net Core Runtime
sudo yum install libunwind libicucurl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843420sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnetsudo ln -s /opt/dotnet/dotnet /usr/local/bin
安裝 Nginx
sudo yum install epel-releasesudo yum install nginxsudo systemctl enable nginx
修改 Nginx 的配置
修改 Nginx 的配置,讓它反向 Proxy到 localhost:5000,修改全域設定檔 /etc/nginx/nginx.conf ,修改 location 結點為以下內容
location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }
啟動 Nginx
sudo systemctl start nginx
到這裡,我們的環境就搭配好了,接下來,我們來發布 ZKEACMS
發布 ZKEACMS.Core
發布 ZKEACMS.Core 比較簡單,雙擊 Publish.cmd 即可
資料庫 SQLite
為了簡單起起見,這裡使用 SQLite 作為資料庫,產生一個SQLite資料命名為 Database.sqlite。在發布好的程式檔案夾下,建立 App_Data 檔案夾,並將 Database.sqlite 放入 App_Data 目錄下。關於如何產生 SQLite 資料,可以進群詢問,或者自行百度/Google。
修改連接字串
開啟 appsettings.json,加入 SQLite 的資料庫連接字串,結果如下
{ "ConnectionStrings": { "DefaultConnection": "", "Sqlite": "Data Source=App_Data/Database.sqlite", "MySql": "" }, "ApplicationInsights": { "InstrumentationKey": "" }, "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } }, "Culture": "zh-CN"}
打包上傳伺服器
我們將發布好的程式打包為 cms.zip 並上傳到 /root 目錄下。並解壓到 /root/cms 目錄下,使用以下命令解壓
unzip cms.zip -d cms
運行
定位到目錄,然後使用 dotnet 命令運行
cd /root/cmsdotnet ZKEACMS.WebHost.dll
運行成功以後,就可以使用您伺服器的IP或者網域名稱訪問了 :)
退出SSH遠端連線用戶端後,發現訪問不了,這是因為 dotnet 也退出了。
以服務方式運行
建立一個服務,讓 dotnet 在後台運行。安裝 nano 編輯器
yum install nano
建立服務
sudo nano /etc/systemd/system/zkeacms.service
輸入以下內容儲存
[Unit] Description=ZKEACMS [Service] WorkingDirectory=/root/cms ExecStart=/usr/local/bin/dotnet /root/cms/ZKEACMS.WebHost.dll Restart=always RestartSec=10 SyslogIdentifier=zkeacms User=root Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target
啟動服務
systemctl start zkeacms.service
這樣就可以安心的退出SSH遠端連線了。
【相關推薦】
1. .Net Core 之 圖形驗證碼
2. .NET Core設定檔載入與DI注入配置資料
3. .NET Core CLI工具文檔dotnet-publish
4. 詳細介紹ZKEACMS for .Net Core
5. 分享.net MVC中使用forms驗證執行個體代碼
6. 在.net core 下如何進行http請求?