ZKEACMS Core est développé sur la base du noyau .net et peut fonctionner sur plusieurs plates-formes sur Windows, Linux et Mac. Voyons ensuite comment utiliser l'hébergement Jexus pour exécuter ZKEACMS sur CentOS. Habituellement, Linux déploie des applications ASP.NET Core. Selon la documentation officielle de Microsoft, nous avons généralement besoin de Nginx avec Systemd (https://docs.microsoft.com/en-us/aspnet. /core /publishing/linuxproduction), Nginx n'a pas repris le processus Kestrel. Nous devons maintenir deux processus, ce qui augmente la complexité. Si vous déployez asp.net core sur Windows, nous pouvons utiliser IIS pour prendre en charge le processus Kestrel. Nous pouvons également utiliser Jexus sous Linux pour obtenir la même expérience qu'IIS.
Installer Runtime .Net Core
Suivez la documentation officielle https://www.microsoft.com/net/core#linuxcentos : Exécuter La commande suivante installe .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
按照《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
J'utilise la base de données cloud MySQL de Tencent Cloud (Cloud Database pour MySQL), qui est Tencent Cloud basée sur la base de données mondiale le plus populaire La base de données open source populaire MySQL est un service de stockage de données distribué hautes performances conçu par des professionnels, 100 % entièrement compatible avec le protocole MySQL et adapté aux scénarios orientés vers les bases de données relationnelles. ZKEACMS Core utilise le pilote Mysql officiel d'Oracle par défaut. Étant donné que le pilote mysql officiel d'Oracle présente de nombreux problèmes, il s'agit toujours d'une version bêta et n'a pas été mis à jour récemment. Je l'utilise dans l'environnement de production. EntityFrameworkCore.MySql. J'ai changé le pilote MySQL de ZKEACMS en Pomelo.EntityFrameworkCore.MySql Après les tests, cela fonctionne bien. MySQL pour .NET Core - La série de packages d'extension Pomelo comprend Pomelo.Data.MySql et Pomelo.EntityFrameworkCore.MySql. Il est recommandé à tout le monde de l'utiliser et a été testé dans des projets réels. Le script de base de données de ZKEACMS Core est uniquement SQL Server. Il existe de nombreux outils pour convertir la base de données SQL Server en MySQL, je ne les présenterai donc pas en détail ici.
Publier ZKEACMS.Core
Le fichier généré est dans le répertoire ZKEACMS .CoresrcZKEACMS.WebHostbinReleasePublishOutput
Modifier la connexion
Stringtings.json et rejoindre la base de données MySQL connection String, le résultat est le suivant{
"ConnectionString
s": { "DefaultConnection": "", "
Sqlite
" : "", "MySql": "Server=10.66.241.199;Database=ZKEACMS_Core;User Id=root;Password
=xxxxxxx;" }, "ApplicationInsights" : {
"Instrumentation
Key
": "" }, "Logging": {
"
Include
Scopes": false, "LogLevel": { "Default": "Debug",
"System": "Informations",
"Microsoft": "Informations"
}
},
" CDN": {
"Activer": true,
"Url": "http://cdn.zkeasoft.com/core"
},
"Culture": "zh -CN"
}
定位到目录,然后使用 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应用程序的配置全过程
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!