1、配置.NET Core运行环境

https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos

注意要选择对应的服务器系统版本,否则会出现问题。

2、发布.NET Core 应用

在Visual Studio内右键项目文件夹,点击发布

3、在服务器上部署.NET Core应用

部分参考Linux 宝塔部署 ASP.NET Core 应用

首先cd进入项目文件夹内。

运行你的dll文件

nohup dotnet 项目名.dll

这里默认会运行在localhost:5000localhost:5001上,若想放在其他端口可以执行nohup dotnet run --urls=http://localhost:端口,参考NET问答: 如何给 ASP.NET Core 配置指定端口 ?

执行好之后直接关闭终端 (或通过exit退出终端,但决不能^C)

可以先在ssh内运行curl -I localhost:5000测试是否成功。

其次 开放防火墙、安全组端口

4、设置反向代理

(参考asp.net core 程序在nginx上部署 完整教程)

找到nginx配置文件并vim nginx.conf,进行以下配置:

server {
    listen        80;
    server_name   example.com *.example.com;
    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;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
 }

注意修改server_name项为自己的域名,若没有域名则填公网ip即可。

检查nginx是否有错误nginx -t

重启nginx

nginx -c /etc/nginx/nginx.conf
nginx -s reload

注:若不想反向代理,可参考:DotNet Core 2.0部署后外网IP访问

5、关于.NET Core应用运行原理

.NET Core应用运行原理
.NET Core应用运行原理

.NET Core应用运行原理
.NET Core应用运行原理