.net6部署到linux上(CentOS Linux 7)
warning:
这篇文章距离上次修改已过253天,其中的内容可能已经有所变动。
在.NET 6中,你可以使用以下步骤将应用程序部署到CentOS Linux 7上:
- 确保你的CentOS系统上安装了.NET 6运行时。
- 发布你的.NET 6应用程序。
- 将发布的应用程序文件上传到CentOS服务器。
- 在CentOS上安装和配置一个web服务器,比如使用Kestrel。
- 配置一个反向代理服务器(如Nginx)来转发HTTP请求到你的Kestrel实例。
以下是一个简化的指南:
- 安装.NET 6运行时:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-6.0
- 发布.NET 6应用程序:
在你的开发机器上,使用如下命令:
dotnet publish -c Release -o ./publish
- 上传应用程序文件到Linux服务器:
你可以使用scp
或其他文件传输方法将文件上传到服务器。
- 安装Kestrel:
在你的Linux服务器上,确保你已经安装了.NET 6运行时。
- 运行你的应用程序:
dotnet your_app.dll
其中your_app.dll
是你的应用程序的入口点。
- 配置Nginx作为反向代理:
安装Nginx:
sudo yum install nginx
编辑Nginx配置文件:
sudo vi /etc/nginx/conf.d/default.conf
添加以下内容以转发请求到Kestrel服务器:
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;
}
}
确保Kestrel在监听5000端口:
dotnet your_app.dll --urls "http://localhost:5000"
重启Nginx:
sudo systemctl restart nginx
现在,你的.NET 6应用程序应该可以通过Linux服务器的IP地址或域名在外部访问了。
评论已关闭