ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上运行 ZKEACMS。

安装 .Net Core 运行时

运行以下命令,安装 .Net Core Runtime

sudo yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843420
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin

安装 Nginx

sudo yum install epel-release
sudo yum install nginx
sudo systemctl enable nginx

修改 Nginx 的配置

修改 Nginx 的配置,让它反向代理到 localhost:5000,修改全局配置文件 /etc/nginx/nginx.conf ,修改 location 结点为以下内容

location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

启动 Nginx

sudo systemctl start nginx

到这里,我们的环境就搭配好了,接下来,我们来发布 ZKEACMS

发布 ZKEACMS.Core

发布 ZKEACMS.Core 比较简单,双击 Publish.cmd 即可

数据库 SQLite

为了简单起起见,这里使用 SQLite 作为数据库,生成一个SQLite数据命名为 Database.sqlite。在发布好的程序文件夹下,创建 App_Data 文件夹,并将 Database.sqlite 放入 App_Data 目录下。关于如何生成 SQLite 数据,可以进群询问,或者自行百度/谷歌。

修改连接字符串

打开 appsettings.json,加入 SQLite 的数据库连接字符串,结果如下

{
"ConnectionStrings": {
"DefaultConnection": "",
"Sqlite": "Data Source=App_Data/Database.sqlite",
"MySql": ""
},
"ApplicationInsights": {
"InstrumentationKey": ""
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"Culture": "zh-CN"
}

打包上传服务器

我们将发布好的程序打包为 cms.zip 并上传到 /root 目录下。并解压到 /root/cms 目录下,使用以下命令解压

unzip cms.zip -d cms

运行

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

cd /root/cms
dotnet ZKEACMS.WebHost.dll

运行成功以后,就可以使用您服务器的IP或者域名访问了 :)

退出SSH远程连接客户端后,发现访问不了,这是因为 dotnet 也退出了。

以服务方式运行

创建一个服务,让 dotnet 在后台运行。安装 nano 编辑器

yum install nano

创建服务

sudo nano /etc/systemd/system/zkeacms.service

输入以下内容保存

[Unit]
Description=ZKEACMS [Service]
WorkingDirectory=/root/cms
ExecStart=/usr/local/bin/dotnet /root/cms/ZKEACMS.WebHost.dll
Restart=always
RestartSec=
SyslogIdentifier=zkeacms
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production [Install]
WantedBy=multi-user.target

启动服务

systemctl start zkeacms.service

这样就可以安心的退出SSH远程连接了。

原文链接

http://www.zkea.net/codesnippet/detail/post-40

在 CentOS 上运行 ZKEACMS的更多相关文章

  1. Net Core应用,在CentOS上运行

    Net Core应用,在CentOS上运行 本文主要介绍下运用docker虚拟技术打包Asp.net core应用. Docker作为一个开源的应用容器引擎,近几年得到广泛的应用,使用Docker我们 ...

  2. Centos上运行.net core2.0

    一.在centos7上安装.net core sdk 微软文档:https://www.microsoft.com/net/learn/get-started/linux/centos 二.直接在Ce ...

  3. Docker打包 Asp.Net Core应用,在CentOS上运行

    本文主要介绍下运用docker虚拟技术打包Asp.net core应用. Docker作为一个开源的应用容器引擎,近几年得到广泛的应用,使用Docker我们可以轻松实现应用的持续集成部署,一次打包,到 ...

  4. Docker打包 Asp.Net Core应用,在CentOS上运行(转)

    转载连接:https://www.cnblogs.com/ibeisha/archive/2017/09/09/netcoreondocker.html 本文主要介绍下运用docker虚拟技术打包As ...

  5. Ubuntu、CentOS上运行.net桌面程序

    1.mono->winform 2.wine->windows程序

  6. Linux系统入门学习:在CentOS上安装phpMyAdmin

    问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...

  7. centos 上安装phpstorm

    phpstorm在centos上运行依赖JDK,所以先安装JDK环境. 假如是centos自带的openjdk,直接卸载,不支持phpstorm. 下载jdk-7u45-linux-i586.tar. ...

  8. CentOS上部署JAVA服务【转】

    http://www.th7.cn/Program/java/201511/686437.shtml 本文将介绍如何在CentOS上运行Java Web服务,其中将包括如何搭建JAVA运行环境.如何开 ...

  9. asp.net core 错误定位 & vs2017 远程调试部署在centos上的asp.net core程序

        前言 程序运行中会出现各种BUG. 排除BUG有三种方式. 一.访问页面直接报错误信息 出于安全,服务器是关闭这个功能的.在centos上可以用 命令设置环境变量来解决:   export A ...

随机推荐

  1. 「小程序JAVA实战」小程序页面引用外部wxml通用页面(21)

    转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-21/ 现在都是讲究开发的效率,原来单纯的android 和 ios 已经不在吃香了,都是混合开发, ...

  2. Spring3X升级到Spring4X时,出现的问题

    1.1.异常描述 Description Resource Path Location Type Class 'org.springframework.http.converter.json.Mapp ...

  3. rails 网站字体

    方法1,在rubymine下查找所有css,scss,sass,less,修改所有带font-family的内容,删除public文件夹下面的缓存css,查看效果.如 body { backgroun ...

  4. 前端开发之JavaScript基础篇四

    主要内容: 1.定时器 2.正则表达式入门 3.元字符 4.正则表达式实战运用 一.定时器 javaScript里主要使用两种定时器,分别是:setInterval()和setTimeout(). 1 ...

  5. percona xtradb cluster test

    docker run --rm -ti -e CLUSTER_NAME=test -e MYSQL_ALLOW_EMPTY_PASSWORD=1 --entrypoint="bash&quo ...

  6. solr 搭建 (基于solr-5.0.0)

    1)去官网下载solr 2)去官网下载Tomcat 3)在D盘建一个文件夹(我在此建立了一个文件夹(命名为:sorl_lf)) 4)解压Tomcat(如果已经安装了Tomcat,请配置支持多个Tomc ...

  7. 泛型、反射和抽象工厂结合解决多DB问题

  8. TortoiseSVN教程

    TortoiseSVN使用教程 TortoiseSVN是一个SVN的客户端 1.Checkout Repository 首先要Checkout服务器端的Repository,所谓的Checkout就是 ...

  9. Python和JavaScript间代码转换4个工具

    Python 还是 JavaScript?虽然不少朋友还在争论二者目前谁更强势.谁又拥有着更为光明的发展前景,但毫无疑问,二者的竞争在 Web 前端领域已经拥有明确的答案.立足于浏览器平台,如果放弃 ...

  10. [SoapUI] 设置Excel的第一行为自动过滤

    import org.apache.poi.ss.util.* XSSFWorkbook workbook = new XSSFWorkbook() XSSFSheet sheet = workboo ...