liunx环境安装PageAdmin Cms系统

web系统一般建议安装在srv/wwwoot目录下,下面步骤演示如何安装pageadmin版本。

1、进入srv目录,创建wwwroot/demo目录,生产环境demo替换为网站标识或域名标识,方便后期识别。

mkdir -pv  ./wwwroot/demo

2、上传web文件zip压缩包到 /srv/wwwroot/demo目录下解压。

cd /srv/wwwroot/demo
unzip web.zip


3、解压成功后,打开根目录下的appsetting.json,修改url为http://localhost:5000,并取消注释,如果不需要调试的生产环境,建议把IsDevelopment改为0。

{
  //netCore内置Kestrel监听端口,生产环境不建议直接对外开放,建议使用nginx,iis等作为中间件
  //"urls": "http://localhost:5000",
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  //生产环境IsDevelopment建议改为0.
  "IsDevelopment": 1,
  "ProjectAssemblies": "PageAdmin.*.dll,HuaTuo.*.dll,JanNew.*.dll",
  "AllowedHosts": "*",
  "UseHsts": 0
}

注:
如果服务器部署了多个web应用,可能会出现端口被占用导致启动失败,可以把5000端口改为5001,5002以此类推。
如果调试模式未安装nginx,iis等环境,可以把urls改为:http://*:5000,服务器外部就可以通过http://ip:5000打开网站,正式环境强烈使用nginx,iis等作为中间件对外提供服务。

4、运行dotnet命令,启动web

dotnet PageAdmin.Web.dll

dotnet PageAdmin.Web.dll --urls="http://*:5000" --environment=Development

结果出现:Now listening on: http://ip:5000 表示启动成功。
这种启动方式主要用于调试环境下测试,按住ctrl+c组合键或关闭shell窗口后,网站则会同时关闭。


解决方案:添加为守护进程(开机启动),这个也是生产环境建议的启动方式。

1、在/srv/services目下,创建pageadmin_net.service系统服务文件,文件名建议用和域名匹配,文件内容如下:

[Unit]
#服务名称
Description=pageadmin网站  
#After=network-online.target
#Wants=network-online.target

[Service]
#工作目录
WorkingDirectory=/srv/wwwroot/demo
#生产环境建议新建一个web用户,并给目录所有权
User=root
#改为netcore的的安装路径和PageAdmin.Web.dll的绝对路径
ExecStart=/usr/share/dotnet/dotnet /srv/wwwroot/demo/PageAdmin.Web.dll
#程序崩溃后启动方式,always或on-failure
Restart=always
RestartSec=10 
KillSignal=SIGINT
#日志标识,可以自定义修改
SyslogIdentifier=pageadmin.net-identifier

#如果存在,会优先加载appsettings.Production.json
Environment=ASPNETCORE_ENVIRONMENT=Production
#关闭日志,否则var/log下的日志文件会很大
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

注:文件中工作目录和PageAdmin.Web.dll路径请改为实际路径。


2、将系统文件加入开机启动服务,命令如下:

systemctl enable /srv/service/pageadmin_net.service

3、启动服务

systemctl start pageadmin_net.service

如果报错,运行下面命令排查原因

journalctl -u pageadmin_net.service


如果没报错,说明已经服务已设置为开启启动,可以通过下面命令查询进程信息。

ps aux | grep PageAdmin.Web.dll

或服务状态

systemctl status  pageadmin_net.service