在CentOS 7中部署ASP.NET Core应用

本文详细介绍了如何在CentOS系统上安装.NET SDK,部署ASP.NET Core应用,配置防火墙,实现外网访问,并将其设置为常驻服务的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 注册Microsoft密钥和源
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  1. 更新可供安装的产品
sudo yum update
  1. 安装.NET SDK,安装完成后可以用dotnet --info来确认一下。
sudo yum install dotnet-sdk-6.0

在这里插入图片描述

  1. 将asp.net core应用发布到本地文件夹。
    在这里插入图片描述

  2. 在CentOS中创建一个文件夹用来存放部署文件

mkdir -p /data/sites
  1. 使用xftp将asp.net core应用的发布文件夹上传到CentOS中刚刚创建的文件夹下。
  2. 在CentOS中运行asp.net core应用
//进入文件夹
cd /data/sites/你的文件夹名称
//运行应用,注意项目名称的大小写
dotnet asp.net项目名称.dll

在这里插入图片描述

  1. 此时还不能访问,因为默认情况下5000端口是没有开放的,所以需要开放5000端口
//开放5000端口
sudo firewall-cmd --permanent --zone=public --add-port=5000/tcp
//重启防火墙,上面的命令才能生效
sudo firewall-cmd --reload
//可能查询一下5000端口是否开放,返回yes表示开放,否则返回no
sudo firewall-cmd --query-port=5000/tcp
  1. 在本机(虚拟机)中访问http://localhost:5000,网页可以显示了,但是在外网访问http://虚拟机IP地址:5000,仍然不能访问。这是因为监听的地址是localhost,所以外网不能访问。按Ctrl+C停止服务,然后运行下面命令:
dotnet asp.net项目名称.dll --urls http://*:5000

监听地址改成http://*,再次在外网使用IP地址访问,访问成功。

  1. 现在把控制台命令改成常驻服务,并且系统重启后也能自动运行。
//进入系统文件夹
cd /etc/systemd/system
//新建文件并编辑
sudo vi kestrel-dotnet.service
//按i进入编辑模式,复制以下内容
[Unit]
Description=.NET Web Site running on Centos
[Service]
WorkingDirectory=/data/sites/你的部署文件夹
ExecStart=/usr/bin/dotnet 你的项目名称.dll --urls http://*:5000
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
//按ESC退出编辑模式,输入:wq保存退出。
//注册服务
sudo systemctl enable kestrel-dotnet.service
//启动服务
sudo systemctl start kestrel-dotnet.service
  1. 重启系统后,访问网站成功,部署完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值