.NET Core&Nginx&Linux(CentOS)
前言
本文将手把手教会你如何使用Nginx反向代理在Linux服务器上部署托管.NET6 Web应用的步骤,其中包含一些注意事项和使用的工具。(注:反向代理配置中不包含域名绑定和ssl证书的配置)
准备工作
1、需要一个装有Linux操作系统的服务器。(本文中使用的阿里云服务器装有CentOS7.9 64位版本的Linux操作系统)
2、一个测试通过能正常运行的.NET Web应用项目(本次使用的是.NET6 WebAPI项目)。
3、用于和服务器连接和上传项目文件的工具PuTTY(下载地址:PuTTY下载地址)
请根据自己电脑下载对应的程序安装包,博主用的Windows64位系统电脑,所以下载第一个
下载好并安装成功后
到此前期准备工作已完成。
在服务器上部署环境
总所周知,所有应用想让它能够在机器上成功运行都是需要对应的依赖和环境支持,在这我们想要部署的应用是基于.NET6运行,所以要先在服务器上安装.NET6的运行时,可参考官方文档在CentOS上安装.NET运行时,文档里还有其他Linux系统如Ubuntu
、Debian
、Alpine
的安装教程首先我们使用PuTTY连接我们的服务器
连接后输入你的登陆用户和密码
成功登陆后参照官方文档,将 Microsoft 包签名密钥添加到受信任密钥列表中,并添加 Microsoft 包存储库。
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
执行代码安装成功后开始安装运行时,以下命令安装 ASP.NET Core 运行时,.NET运行时有aspnetcore-runtime
和dotnet-runtime
两种 推荐安装aspnetcore-runtime
它是最兼容 .NET的运行时。 在终端中,运行以下命令:
sudo yum install aspnetcore-runtime-6.0
其中6.0是运行时版本,根据自己项目版本安装对应的运行时版本
安装途中有两次提示都输入Y继续安装后安装完成
安装完后输入查看是否安装成功
dotnet --info
可以看到安装的信息和版本说明安装成功了,到此应用运行的环境依赖就安装成功了。
.NET Core运行时自带 Kestrel
web服务器,所以可直接运行web应用程序。
发布.NET Web项目
当我们服务器的环境安装完成后,我们把需要部署的项目发布并打包上传到服务器中。
首先我们发布项目
右键点击你要发布的项目选择 发布。
进入到发布配置页面
项目发布配置,因为服务器已经安装了应用依赖的环境运行时,所以发布的时候选择框架依赖模式发布,目标运行时可选择可移植和linux根据需求选择。然后点击保存,点击发布
提示发布成功,到此我们的需要部署的项目已经准备好了。