[Day29] 部署网站 - 我与 ASP.NET Core 3 的 30天

一般来说,发布ASP.NET Core的应用程序部署到服务器上会经过以下动作

  1. 将发布的应用程序部署到服务器上的资料夹。
  2. 设置一个进程管理器,当请求到达时启动该应用程序,并在崩溃或服务器重新启动後重新启动该应用程序。
  3. 要配置反向代理,设置反向代理以将请求转发到应用程序。

发布至资料夹

首先须先使用dotnet publish将网站发布到指定的资料夹中
dotnet publish 如果加上参数 -o <资料夹名称> 会输出到指定的目录底下,如果没特别指定则会输出至bin/Debug/netcoreapp3.1/publish底下。也可以透过--configuration参数来指定发布的组态,例如dotnet publish --configuration Release,就会将档案发布到bin/Release/netcoreapp3.1/publish底下。
发布出来的档案可以透过SCP或是SFTP来放到服务器上

在Linux上装载ASP.NET Core

首先要在服务器上装载ASP.NET Core应用程序,就必须要安装 .NET Core Runtime,可以透过下载页面,或是直接透过套件管理的指定来下载
以CentOS 7 为范例:

sudo yum install aspnetcore-runtime-3.1

安装完毕之後便可以透过 .NET CLI 启动部署好的ASP.NET Core应用程序
在部属的目录底下输入

dotnet <专案名称>.dll

因为ASP.NET Core自带Kestrel Server,所以不需要透过其他HTTP Server就可以启动网站应用程序了。
备注:要先检查防火墙的指定Port是否有开启

做到这边相信各位朋友一定尝试连接自己部署的网站应用程序了,但是奇怪的是,为什麽已经启动了,外部还是无法连进网站。
那是因为目前启动的网站只允许localhost做存取,所以无法让其他非本地的使用者访问,这时候我们就要将启动的指令做些变更

ASPNETCORE_URLS="https://*:5001" dotnet <专案名称>.dll

透过这个指令,可以让直接访问ip或是domain name的使用者能够顺利存取到网站


<<:  DAY29 - 使用 Istio 的 Jaeger 追踪在各个 Service 穿梭的请求

>>:  [Day28] 建立购物车系统 - 11

【Day23】参数

参数 首先我们先看一个范例 function fn(para){ console.log(para,...

【JavaScript】阵列方法之some()

【前言】 本系列为个人前端学习之路的学习笔记,在过往的学习过程中累积了很多笔记,如今想藉着IT邦帮忙...

Day 30:持续学习之流水帐未来方向

当初是同事的邀约也完赛了,以及自己在 2020 的自我挑战计画,30 天刚好也可以逼自己去产出一些东...

Day 12 阿里云架设网站-网站负载均衡

笔者有幸以前有机会摸到F5的负载均衡设备,对其强大功能及提供多种演算法直到现在都还让我记忆犹新,当...

#20 JS: Object Fundamentals

What is an Object? Introduction by W3C School Elem...