CentOS上运行ZKEACMS的详细过程
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远程连接了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读