CentOS部署.NET Core网站

2022-08-01 18:10:10 浏览数 (1)

首发于我的博客TOM的小站

.Net.Net

1、配置.NET Core运行环境

其他版本的安装可参考官方文档。

CentOS 7中的安装步骤:

安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加 Microsoft 包存储库。 打开终端并运行以下命令:

代码语言:shell复制
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

安装SDK:

代码语言:shell复制
.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令:

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

2、发布.NET Core 应用

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

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

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

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

运行你的dll文件

代码语言:shell复制
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,进行以下配置:

代码语言:txt复制
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

代码语言:shell复制
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应用运行原理

0 人点赞