ZKEACMS Core 是基於.net core 開發的,可以在windows, linux, mac 上跨平台運行,接下來我們來看看如何在CentOS 上使用Jexus託管運行ZKEACMS,通常我們在Linux部署ASP.NET Core應用,依照微軟的官方文檔,我們通常需要Nginx 搭配Systemd(https://docs.microsoft.com/en-us/aspnet/core /publishing/linuxproduction), Nginx並沒有接管Kestrel 進程,我們需要維護2個進程,增加了複雜度。如果你把asp.net core部署在windows上,我們可以用IIS來接管Kestrel進程,我們在Linux上也可以用Jexus來達到IIS一樣的體驗。
安裝 .Net Core 執行階段
#依照官方文件https://www.microsoft.com/net/core#linuxcentos :執行以下命令,安裝.Net Core Runtime
sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843421 sudo mkdir -p /usr/local/dotnet && sudo tar zxf dotnet.tar.gz -C /usr/local/dotnet sudo ln -s /usr/local/dotnet/dotnet /usr/local/bin
安裝Jexus
按照《CentOS 7.2下安装Mono 5.0》安装好了Mono 5, 我这里是安装通用版的Jexus,通用版的Jeuxs 才能使用到我们自己安装的最新版的Mono 5。安装 Jexus 直接使用一下命令即可(需要在root身份下执行):
curl https://jexus.org/release/install | sh
安装成功后会提示:OK, Jexus has been installed in /usr/jexus.
备注:
你可以直接安装独立版的Jexus,独立版的Jexus自带Mono,使用的是Mono的稳定版本4.8,安装命令也是一个命令就可以搞定:curl https://jexus.org/release/x64/install.sh|sh
發布ZKEACMS.Core
#資料庫MySql
我使用的是騰訊雲端的雲端資料庫MySQL(Cloud Database for MySQL)是騰訊雲端基於全球最受歡迎的開源資料庫MySQL專業打造的高效能分散式資料儲存服務, 100%完全相容MySQL 協議,適用於面向關係型資料庫的場景。 ZKEACMS Core 預設使用的是Oracle官方的Mysql驅動,由於Oracle官方的mysql驅動有很多問題,目前還是beta版本,最近也不見更新,我在生產環境使用的是Pomelo.EntityFrameworkCore.MySql ,我ZKEACMS的MySQL驅動程式改為Pomelo.EntityFrameworkCore.MySql,經過測試運作良好,我已經把相關修改pull 給ZKEACMS。 MySQL for .NET Core - Pomelo 擴充包系列 包含Pomelo.Data.MySql 和 Pomelo.EntityFrameworkCore.MySql ,推薦大家使用,經過了實際專案的檢驗。
ZKEACMS Core 的資料庫腳本只有SQL Server, 將SQL Server資料庫轉換為MySQL的工具非常多,這裡不做具體介紹了。
發佈ZKEACMS.Core
發佈ZKEACMS.Core 比較簡單,雙擊Publish.cmd 即可
產生的檔案在目錄ZKEACMS .Core\src\ZKEACMS.WebHost\bin\Release\PublishOutput
修改連線字串
開啟appsettings. json,加入MySQL的資料庫連接字串,結果如下
{
"ConnectionStrings": {
"DefaultConnection": "",
"Sqlite": "",
"Sqlite": "",
"MySql": "Server=10.66.241.199;Database=ZKEACMS_Core;User Id=root;Passw
ord
=xxxxxxx;"=xxxxxxx; ## }, "ApplicationInsights": {
"Instrumentation
Key
": "" },# "Logging": {
"##Include
# "Logging": {
Include
Scopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"System": "Information",
"System": "Information",## }
},
"CDN": {
"Url": "http://cdn.zkeasoft.com/core" }, "Culture": "zh-CN"
}上傳伺服器
配置Jexus运行ZKEACMS Core
定位到目录,然后使用 dotnet 命令运行
cd /var/www/csharpkit
dotnet ZKEACMS.WebHost.dll
运行成功以后,就可以使用您服务器的IP或者域名访问了,默认访问的端口是5000 退出SSH远程连接客户端后,发现访问不了,这是因为 dotnet 也退出了。下面我们就通过Jexus来管理我们服务进程。
使用以下命令:
1、切换到Jexus配置文件目录
cd /usr/jexus/siteconf
2、复制默认的配置文件为test
cp default csharpkit
3、编辑csharpkit配置文件
nano csharpkit
######################
# Web Site: csharpkit
########################################
port=80
root=/ /var/www/csharpkit
hosts=www.csharpkit.com #OR your.com,*.your.com
AppHost={
cmd=dotnet /var/www/csharpkit/ZKEACMS.WebHost.dll;
root=/var/www/csharpkit;
port=0;
}
配置的重点就在于AppHost中,需要注意的是在AppHost中的port(端口号)不代表Jexus对外服务的port(端口号),而是指要转发的 Asp.Net Core应用程序的端口号,如果在程序中使用了UsrUrls自定义端口则使用UsrUrls中填写的端口(不建议使用UsrUrls自定义端口),在没有使用UsrUrls自定义端口的情况下端口号设置为 0,Jexus会在运行时与Asp.Net Core进行"协商"具体使用的端口号,避免多个应用分配,端口的麻烦和冲突的风险。 简单来说就是会将外部的请求转发到这个端口,由这个端口对应的Asp.Net Core应用程序对请求进行处理。
4、启动/重启 Jexus
当配置文件编辑完成后使用以下命令对Jexus进行 启动/重启
# 如果已启动 Jexus: sh /usr/jexus/jws restart # 如果未启动 Jexus: sh /usr/jexus/jws start
启动/重启成功后,在浏览器中输入 ip地址/域名:端口号 例如(http://www.csharpkit.com/) 即可访问Asp.Net Core应用程序
以上即是Jexus托管Asp.Net Core应用程序的配置全过程
以上是使用Jexus託管運行 ZKEACMS的詳細內容。更多資訊請關注PHP中文網其他相關文章!

C#在.NET生態系統中扮演核心角色,是開發者的首選語言。 1)C#提供高效、易用的編程方式,結合C、C 和Java的優點。 2)通過.NET運行時(CLR)執行,確保跨平台高效運行。 3)C#支持從基本到高級的用法,如LINQ和異步編程。 4)優化和最佳實踐包括使用StringBuilder和異步編程,提高性能和可維護性。

C#是微軟在2000年發布的編程語言,旨在結合C 的強大功能和Java的簡潔性。 1.C#是一種類型安全、面向對象的編程語言,支持封裝、繼承和多態。 2.C#的編譯過程將代碼轉化為中間語言(IL),然後在.NET運行時環境(CLR)中即時編譯成機器碼執行。 3.C#的基本用法包括變量聲明、控制流和函數定義,而高級用法涵蓋異步編程、LINQ和委託等。 4.常見錯誤包括類型不匹配和空引用異常,可通過調試器、異常處理和日誌記錄來調試。 5.性能優化建議包括使用LINQ、異步編程和提高代碼可讀性。

C#是一種編程語言,而.NET是一個軟件框架。 1.C#由微軟開發,適用於多平台開發。 2..NET提供類庫和運行時環境,支持多語言。兩者協同工作,構建現代應用。

C#.NET是一個強大的開發平台,結合了C#語言和.NET框架的優勢。 1)它廣泛應用於企業應用、Web開發、遊戲開發和移動應用開發。 2)C#代碼編譯成中間語言後由.NET運行時環境執行,支持垃圾回收、類型安全和LINQ查詢。 3)使用示例包括基本控制台輸出和高級LINQ查詢。 4)常見錯誤如空引用和類型轉換錯誤可以通過調試器和日誌記錄解決。 5)性能優化建議包括異步編程和優化LINQ查詢。 6)儘管面臨競爭,C#.NET通過不斷創新保持其重要地位。

C#.NET的未來趨勢主要集中在雲計算、微服務、AI和機器學習集成以及跨平台開發三個方面。 1)雲計算和微服務:C#.NET通過Azure平台優化雲環境表現,支持構建高效微服務架構。 2)AI和機器學習集成:借助ML.NET庫,C#開發者可在應用中嵌入機器學習模型,推動智能化應用發展。 3)跨平台開發:通過.NETCore和.NET5 ,C#應用可在Windows、Linux和macOS上運行,擴展部署範圍。

C#.NET開發的最新動態和最佳實踐包括:1.異步編程提高應用響應性,使用async和await關鍵字簡化非阻塞代碼;2.LINQ提供強大查詢功能,通過延遲執行和表達式樹高效操作數據;3.性能優化建議包括使用異步編程、優化LINQ查詢、合理管理內存、提升代碼可讀性和維護性、以及編寫單元測試。

如何利用.NET構建應用?使用.NET構建應用可以通過以下步驟實現:1)了解.NET基礎知識,包括C#語言和跨平台開發支持;2)學習核心概念,如.NET生態系統的組件和工作原理;3)掌握基本和高級用法,從簡單控制台應用到復雜的WebAPI和數據庫操作;4)熟悉常見錯誤與調試技巧,如配置和數據庫連接問題;5)應用性能優化與最佳實踐,如異步編程和緩存。

C#在企業級應用、遊戲開發、移動應用和Web開發中均有廣泛應用。 1)在企業級應用中,C#常用於ASP.NETCore開發WebAPI。 2)在遊戲開發中,C#與Unity引擎結合,實現角色控制等功能。 3)C#支持多態性和異步編程,提高代碼靈活性和應用性能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),