前言:

        1、我是部署到阿里云服务器ECS,系统CentOS 7.6。

        2、安装宝塔面板(过程省略,请自行到bt.cn官网查找安装教程),登录宝塔后安装LNMP(推荐)。

        3、使用命令行,安装.NetCore SDK 3.1

        宝塔面板中没有集成.NetCore SDK,所以我们只能通过yum在终端手动安装。

       各个不同Linux发行版的安装方法大同小异,在这个官方页面均有详细介绍,这里我用的是CentOS,所以使用yum安装。

       根据官方的说法,在安装DotNetCore环境之前需要注册Microsoft Key以及Product Repository,并且还需要安装一些依         赖,这一步每台机器只需要运行一次,具体命令如下:

       sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm


        安装dotnet-sdk-3.1,命令如下:

       sudo yum install dotnet-sdk-3.1

       测试是否安装成功:

       

   // 直接看版本:
   dotnet --version
   // 使用yum查看info

   yum info dotnet-sdk-3.1

   4、新建项目

   

   5部署第三方开源系统YiShaAdmin,基于.NET Core Web开发管理系统。(官方地址:https://www.yishasoft.com/)

     

     5.1)下载到本地,我喜欢使用:git clone https://gitee.com/xiechihua/YiShaAdmin.git

     

        5.2)找到根目录下\YiShaAdmin\Publish这个位置,点击“publish -debug.bat”,会自动生成两个文件夹,分别是Admin和Api。这次我们要部署的是Admin,所以先打包好。

      

      5.3)上传Admin压缩文件到宝塔项目里面,然后解压即可

    6、刚才已经安装好.net core sdk了,那就可以使用dotnet命令启动项目:

       

     服务器上终端命令进入部署文件所在目录,然后使用dotnet命令启动服务:

//进入根目录
cd /www/wwwroot/netcore.xxx.com
//启动项目

dotnet YiSha.Admin.Web.dll

参考图:


     7、Nginx设置反代访问

   

        现在我们还不能直接访问到我们新部署的Web服务,需要使用Nginx设置反向代理,将特定的端口代理到http://localhost:5000,这一步可以通过宝塔面板来完成,步骤如下:

  1. 在刚才新建的网站中设置反向代理,目标URL填写http://localhost:5000即可,发送域名留空。



  浏览器正式可访问项目,此处可能需要重启一下.


(网站可以访问,是否大功告成?!答案:还没有。)


    7、由于网站刚才是在终端使用命令行跑起来的,那如果关闭了终端就会访问不了,怎么办?

  

    解决关闭Shell之后进程停止的问题。

   现在还有个问题,就是当我们关闭xShell等ssh工具的时候服务进程也会停止运行,我们可使用 Supervisor 守护进程运行。

  1. 在宝塔面板上安装Supervisor
  2. 添加守护进程