在CentOS上部署.NET Core的全面指南
.NET Core作为一种跨平台的开源框架,在CentOS系统上的部署为开发者提供了灵活性和高性能,本文将详细介绍如何在CentOS上安装、配置和运行.NET Core应用,涵盖环境准备、安装步骤、项目部署及常见问题解决。

环境准备与系统要求
在开始之前,确保您的CentOS系统满足基本要求,CentOS 7或更高版本推荐使用,因为.NET Core对较新版本的支持更完善,系统需安装必要的依赖包,如libunwind、libicu和openssl-devel,这些是.NET Core运行时和开发工具的必要组件,可以通过以下命令安装依赖:
sudo yum install -y libunwind libicu openssl-devel
确保系统已更新至最新状态,以避免兼容性问题。
.NET Core SDK的安装
.NET Core SDK(软件开发工具包)提供了编译和运行.NET Core应用所需的工具,推荐使用微软官方仓库安装,以确保获取最新版本,添加微软的签名密钥和仓库:
sudo rpm -Uvh http://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
安装.NET Core SDK:
sudo yum install -y dotnet-sdk-3.1
安装完成后,运行dotnet --version验证是否成功,如果显示版本号,说明安装正确。
创建并运行.NET Core项目
安装完成后,可以创建一个新的.NET Core项目或迁移现有项目,使用以下命令创建一个控制台应用:

dotnet new console -o MyCentOSApp cd MyCentOSApp
运行项目时,使用dotnet run命令,首次运行会自动下载依赖项,并在本地启动应用,对于Web应用,可以使用dotnet new web模板创建,并通过dotnet run在指定端口启动(默认为5000)。
生产环境部署建议
在CentOS上部署.NET Core应用时,建议使用Nginx作为反向代理,以实现负载均衡和HTTPS支持,首先安装Nginx:
sudo yum install -y nginx
配置Nginx将请求转发到Kestrel(.NET Core内置服务器),在/etc/nginx/nginx.conf中添加以下配置:
server {
listen 80;
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;
}
}
启动Nginx并启用自启:
sudo systemctl start nginx sudo systemctl enable nginx
建议使用Supervisor或Systemd管理.NET Core应用进程,确保其在后台稳定运行。
性能优化与监控
为了提升应用性能,可以启用Gzip压缩、配置静态文件缓存,并使用dotnet命令的--configuration Release模式编译生产版本,通过Prometheus和Grafana监控应用性能,实时跟踪CPU、内存使用情况及请求响应时间。

相关问答FAQs
Q1: 如何在CentOS上卸载.NET Core SDK?
A1: 要卸载.NET Core SDK,可以使用以下命令:
sudo yum remove -y dotnet-sdk-3.1
如果需要清理残留的包和依赖,可以运行sudo yum autoremove并手动删除/usr/share/dotnet目录(如果存在)。
Q2: .NET Core应用在CentOS上无法启动,如何排查?
A2: 首先检查依赖项是否完整,运行ldd $(which dotnet)查看库文件是否缺失,确认应用端口未被占用,使用netstat -tuln | grep :5000验证,如果问题依旧,查看应用日志(通常在/var/log目录或应用根目录下的logs文件夹)定位错误原因。