>  기사  >  백엔드 개발  >  Jexus 호스팅을 사용하여 ZKEACMS 실행

Jexus 호스팅을 사용하여 ZKEACMS 실행

大家讲道理
大家讲道理원래의
2017-05-28 11:45:081525검색

ZKEACMS Core는 .net 코어를 기반으로 개발되었으며 Windows, linux 및 Mac에서 크로스 플랫폼을 실행할 수 있습니다. 다음으로 Jexus 호스팅을 사용하여 CentOS에서 ZKEACMS를 실행하는 방법을 살펴보겠습니다. NET on Linux 핵심 애플리케이션, Microsoft의 공식 문서에 따르면 일반적으로 Systemd(https://docs.microsoft.com/en-us/aspnet/core/publishing/linuxproduction)와 함께 Nginx가 필요하지만 Nginx는 대신하지 않습니다. Kestrel 프로세스에서는 두 가지 프로세스를 유지해야 하므로 복잡성이 증가합니다. Windows에 asp.net 코어를 배포하는 경우 IIS를 사용하여 Kestrel 프로세스를 인계받을 수 있으며 Linux에서 Jexus를 사용하여 IIS와 동일한 환경을 얻을 수도 있습니다.

Install .Net Core Runtime

공식 문서 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
Release 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에 대한 관련 수정 사항이 적용되었습니다. .NET Core용 MySQL - 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 = 루트; password
= xxxxxxx; ENTATION
KEYat ":" }, "로깅": {
" includeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information", "Microsoft": "Information" }
},
"CDN": {
"활성화": true, "Url": "http://cdn.zkeasoft.com/core" },
"Culture": "zh-CN"
}


Upload
Server

우리는 게시된 프로그램을 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.