ホームページ >バックエンド開発 >C#.Net チュートリアル >Jexus ホスティングを使用した ZKEACMS の実行

Jexus ホスティングを使用した ZKEACMS の実行

大家讲道理
大家讲道理オリジナル
2017-05-28 11:45:081623ブラウズ

ZKEACMS Core は .net core に基づいて開発されており、Windows、linux、Mac 上でクロスプラットフォームで実行できます。 次に、通常は ASP をデプロイするために Jexus ホスティングを使用する方法を見てみましょう。 NET on Linux Core アプリケーション、Microsoft の公式ドキュメントによると、通常は Systemd (https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction) を備えた Nginx が必要ですが、Nginx は引き継ぎませんKestrel プロセス、私たち 2 つのプロセスを維持する必要があるため、複雑さが増します。 Windows に asp.net core を展開する場合、IIS を使用して Kestrel プロセスを引き継ぐことができ、Linux 上で Jexus を使用して IIS と同じエクスペリエンスを実現することもできます。

.Net Core ランタイムをインストールします

公式ドキュメントに従ってください https://www.microsoft.com/net/core#linuxcentos: 次のコマンドを実行して .Net Core ランタイムをインストールします

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.
rree
备注:
ZKEACMS.Core
Database
MySql
をリリースします。私は Tencent Cloud のクラウド データベース MySQL (Cloud Database
for

MySQL) を使用しています。これは、世界で最も人気のあるオープン ソースに基づいて Tencent Cloud によって構築された高性能プロフェッショナルです。データベース MySQL 分散データ ストレージ サービス。MySQL プロトコルと 100% 完全に互換性があり、リレーショナル データベース を対象としたシナリオに適しています。 ZKEACMS Core はデフォルトで Oracle の公式 MySQL ドライバを使用します。Oracle の公式 MySQL ドライバはまだベータ版であり、本番環境では Pomelo.EntityFrameworkCore.MySql を使用しています。 Pomelo.EntityFrameworkCore.MySql に変更しました。テスト後、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.CoresrcZKEACMS.WebHostbinReleasePublishOutputにあります

接続

StringJexus ホスティングを使用した ZKEACMS の実行を変更します

app

set
tings.jsonを開き、MySQLデータベース接続文字列を追加すると、結果は次のようになります

{ "ConnectionStrings": { "DefaultConnection": "",

"

Sqlite
" : "", " MySQL ":" サーバー = 10.66.241.199; データベース = zkeacms_core; ユーザー ID = root; password
= xxxxxxx; ENTATION
KEYat ":" }, "ロギング": {
" IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information", "Microsoft": "Information" }
},
"CDN": {
"Enable": true, "Url": "http://cdn.zkeasoft.com/core" },
"Culture": "zh-CN"
}


アップロード
サーバー

を行います公開されたプログラムを winscp プログラムとともにサーバーの /var/www/csharpkit ディレクトリにアップロードします。具体的な操作については、「Windows および Linux でのファイル転送に WinSCP ソフトウェアを使用する」の記事を参照してください。

配置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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。