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=10
SyslogIdentifier=zkeacms
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
启动服务
systemctl start zkeacms.service
这样就可以安心的退出SSH远程连接了。
您可能感兴趣的文章:ZKEACMS for .Net Core深度解析asp.net的cms 核心代码篇asp.net的cms 原理篇asp.net的cms 绑定数据篇asp.net小孔子cms中的数据添加修改