Ausführen von ZKEACMS mit Jexus-Hosting

大家讲道理
Freigeben: 2017-05-28 11:45:08
Original
1583 Leute haben es durchsucht

ZKEACMS Core wurde auf Basis von .net Core entwickelt und kann plattformübergreifend unter Windows, Linux und Mac ausgeführt werden. Schauen wir uns als Nächstes an, wie man Jexus-Hosting zum Ausführen von ZKEACMS unter CentOS verwendet. Normalerweise stellt Linux ASP.NET Kernanwendungen bereit. Laut der offiziellen Dokumentation von Microsoft benötigen wir normalerweise Nginx mit Systemd (https://docs.microsoft.com/en-us/aspnet /core /publishing/linuxproduktion), Nginx hat den Kestrel-Prozess nicht übernommen. Wir müssen zwei Prozesse verwalten, was die Komplexität erhöht. Wenn Sie asp.net Core unter Windows bereitstellen, können wir IIS verwenden, um den Kestrel-Prozess zu übernehmen. Wir können auch Jexus unter Linux verwenden, um das gleiche Erlebnis wie IIS zu erzielen.

Installieren .Net Core Runtime

Folgen Sie der offiziellen Dokumentation https://www.microsoft.com/net/core#linuxcentos: Ausführen Der folgende Befehl installiert .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
Nach dem Login kopieren
installiert Jexus
按照《CentOS 7.2下安装Mono 5.0》安装好了Mono 5, 我这里是安装通用版的Jexus,通用版的Jeuxs 才能使用到我们自己安装的最新版的Mono 5。安装 Jexus 直接使用一下命令即可(需要在root身份下执行):
Nach dem Login kopieren
curl https://jexus.org/release/install | sh
Nach dem Login kopieren
安装成功后会提示:OK, Jexus has been installed in /usr/jexus.
Nach dem Login kopieren
备注:
Nach dem Login kopieren
    你可以直接安装独立版的Jexus,独立版的Jexus自带Mono,使用的是Mono的稳定版本4.8,安装命令也是一个命令就可以搞定:curl https://jexus.org/release/x64/install.sh|sh
Nach dem Login kopieren
veröffentlicht ZKEACMS. Kern
DatenbankMySql

Ich verwende die Cloud-Datenbank MySQL von Tencent Cloud (Cloud-Datenbank für MySQL), die auf der weltweiten Datenbank von Tencent Cloud basiert Am beliebtesten Die beliebte Open-Source-Datenbank MySQL ist ein professionell entwickelter, leistungsstarker verteilter Datenspeicherdienst, der zu 100 % vollständig mit dem MySQL-Protokoll kompatibel ist und sich für Szenarien eignet, die auf relationale Datenbanken ausgerichtet sind. ZKEACMS Core verwendet standardmäßig den offiziellen MySQL-Treiber , da es sich immer noch um eine Betaversion handelt und ich ihn in der Produktionsumgebung nicht aktualisiert habe. EntityFrameworkCore.MySql. Ich habe den MySQL-Treiber von ZKEACMS in Pomelo.EntityFrameworkCore.MySql geändert. Nach dem Testen habe ich die relevanten Änderungen in ZKEACMS übernommen. MySQL für .NET Core – Die Pomelo-Erweiterungspaketreihe umfasst Pomelo.Data.MySql und Pomelo.EntityFrameworkCore.MySql. Die Verwendung wird jedem empfohlen und wurde in tatsächlichen Projekten getestet. Das Datenbankskript von ZKEACMS Core ist nur SQL Server. Es gibt viele Tools zum Konvertieren von SQL Server-Datenbanken in MySQL, daher werde ich sie hier nicht im Detail vorstellen.

ZKEACMS.Core veröffentlichen

ZKEACMS.Core veröffentlichen ist relativ einfach, doppelklicken Sie auf Publish.cmd

Die generierte Datei befindet sich in das Verzeichnis ZKEACMS .CoresrcZKEACMS.WebHostbinReleasePublishOutputAusführen von ZKEACMS mit Jexus-Hosting

Verbindung ändern

String

App öffnenset
tings.

json und MySQL-Datenbank beitreten Verbindungszeichenfolge, das Ergebnis ist wie folgt{ "Connection

String

s": {
"DefaultConnection": "", "Sqlite
" : ",
"MySql": "Server=10.66.241.199;Database=ZKEACMS_Core;User Id=root;Password=xxxxxxxx;"
}, „ApplicationInsights“: { „Instrumentation
Key
“: „“
}, „Logging“: {
Include
Scopes“: false,
„LogLevel“: { „Default“: „Debug“, „System“: „Information“,
„Microsoft“: „Information“
}
},
" CDN": {
"Enable": true,
"Url": "http://cdn.zkeasoft.com/core"
},
"Culture": "zh -CN"
}


Hochladen

Server
Wir werden das freigegebene Programm zusammen mit dem Winscp-Programm in das Verzeichnis server/var/www/csharpkit hochladen. Für Spezifische Vorgänge finden Sie im Artikel „Verwenden Sie die WinSCP-Software für die Dateiübertragung unter Windows und Linux》

配置Jexus运行ZKEACMS Core

定位到目录,然后使用 dotnet 命令运行

cd /var/www/csharpkit
Nach dem Login kopieren
dotnet ZKEACMS.WebHost.dll
Nach dem Login kopieren

运行成功以后,就可以使用您服务器的IP或者域名访问了,默认访问的端口是5000 退出SSH远程连接客户端后,发现访问不了,这是因为 dotnet 也退出了。下面我们就通过Jexus来管理我们服务进程。

使用以下命令:

1、切换到Jexus配置文件目录

cd /usr/jexus/siteconf
Nach dem Login kopieren

2、复制默认的配置文件为test

cp default csharpkit
Nach dem Login kopieren

3、编辑csharpkit配置文件

nano csharpkit
Nach dem Login kopieren

######################
# 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
Nach dem Login kopieren

启动/重启成功后,在浏览器中输入  ip地址/域名:端口号 例如(http://www.csharpkit.com/)  即可访问Asp.Net Core应用程序

以上即是Jexus托管Asp.Net Core应用程序的配置全过程

Das obige ist der detaillierte Inhalt vonAusführen von ZKEACMS mit Jexus-Hosting. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage