在Linux上使用Nginx部署ASP.NET Core应用

本文详细介绍了如何在Ubuntu22.04上使用Nginx1.18.0部署ASP.NETCore应用,包括安装.NetRuntime8.0和SDK,部署应用,配置Nginx代理,以及设置后台守护程序。
摘要由CSDN通过智能技术生成

在Linux上使用Nginx部署ASP.NET Core应用

本篇文章参考微软官方文章使用 Nginx 在 Linux 上托管 ASP.NET Core

准备环境

  • Linux版本Ubuntu22.04
  • .Net运行时.NetRutime8.0
  • 代理服务器Nginx1.18.0

安装.Net

# 运行时
sudo apt-get update && \
sudo apt-get install -y dotnet-runtime-8.0 

# Sdk
sudo apt install dotnet-sdk-8.0

安装sdk时可能会出现找不到包的情况,这时使用官方的安装脚本即可

# 下载脚本
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh

# 修改脚本权限
chmod +x ./dotnet-install.sh

# 安装最新版本,若需要LTS删除--version latest
./dotnet-install.sh --version latest

#runtime也可以用脚本安装
./dotnet-install.sh --version latest --runtime aspnetcore
# 查看dotnet版本
dotnet --info

在这里插入图片描述

部署Asp.Net项目

本地运行OK后发布上传到服务器,这里我使用的时XFtp,和XShell一套挺好用的;

测试应用:

注意:当NETCORE的版本低于3.0时,对应的命令为
dotnet web.dll --server.urls="http://localhost:7102"
当NETCORE高于等于3.0版本时
--urls "http://localhost:7102"

# Linux进入文件目录运行应用
dotnet RazorPageDemo.dll --urls "http://localhost:7102"

在这里插入图片描述

配置nginx

nginx默认的配置路径/etc/nginx/conf.d
新建文件rdemo.conf并添加内容

server{
 listen 7102;
 server_name *.exmple.com;
 location /{
  proxy_pass  http://127.0.0.1:7202/;
 }
}

重新加载nginx配置文件nginx -s reload

访问页面
在这里插入图片描述

启动后台守护程序

ctrl+c停止程序运行
创建服务定义文件:

sudo nano /etc/systemd/system/kestrel-rdemo.service

以下示例是应用的一个 .ini 服务文件:

[Unit]
Description=Example .NET Web API App running on Linux

[Service]
WorkingDirectory=/var/www/razorpagedemo
ExecStart=/usr/bin/dotnet /var/www/razorpagedemo/RazorPageDemo.dll --urls "http://localhost:7202"
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=razorpagedemo
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_NOLOGO=false

[Install]
WantedBy=multi-user.target
#启动服务
sudo systemctl enable kestrel-rdemo.service
#运行
sudo systemctl start kestrel-rdemo.service
#查看状态
sudo systemctl status kestrel-rdemo.service

OK,访问没问题就可以了,云服务器的话记得打开端口

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux部署 .NET 应用程序需要使用 .NET Core,以下是详细步骤: 1. 安装 .NET Core 运行时和 SDK 在 Linux部署 .NET 应用程序需要安装 .NET Core 运行时和 SDK。可以从官网下载适合自己操作系统的版本:https://dotnet.microsoft.com/download 2. 编写 .NET 应用程序 使用 .NET Core SDK 编写 .NET 应用程序,可以使用 Visual Studio Code 或者其他文本编辑器。 3. 编译 .NET 应用程序 使用 .NET Core SDK 编译 .NET 应用程序,可以使用以下命令: ``` dotnet build ``` 4. 发布 .NET 应用程序 使用 .NET Core SDK 发布 .NET 应用程序,可以使用以下命令: ``` dotnet publish -c Release -o /app/publish ``` 其中,`-c` 参数指定编译模式,`-o` 参数指定发布目录。 5. 安装和配置 Web 服务器 在 Linux部署 .NET 应用程序需要安装和配置 Web 服务器,可以使用 nginx 或者 Apache。 6. 配置 Web 服务器 在 Web 服务器上配置反向代理,将请求转发到 .NET 应用程序。以下是 nginx 的配置示例: ``` server { listen 80; server_name 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_pass` 指定 .NET 应用程序的地址。 7. 启动 .NET 应用程序 使用以下命令启动 .NET 应用程序: ``` dotnet /app/publish/YourApplication.dll ``` 其中,`YourApplication.dll` 是应用程序的入口文件。 以上是在 Linux部署 .NET 应用程序的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值