vs直接发布的控制台上面没有自己的文件夹了_Azure Web App发布你的Net Core Web项目...

(给DotNet加星标,提升.Net技能)

转自:Grant_Allen cnblogs.com/AllenMaster/p/13254739.html

一、引言

我们看一下Azure上的一个服务-----Web 应用,我们都知道云计算的三大模式:Iaas(基础设施即服务),Paas(平台即服务),Saas(软件即服务)。

Iass,其实就是虚拟主机,现在各大云平台厂商都提供Iaas服务,而且我在西安所知道的大多数的上云的公司(提前声明,1、没有带任何歧视。2、我接触的所了解的这些公司只占西安很少一部分),都是在直接买了几台云主机,把项目部署上去,再买一些MySql,Redis的中间件服务,就完成了上云的操作。

但是不管是国内的公有云平台:阿里云,腾讯云;还是说国外的:Azure,AWS,都提供了其他Pass服务,与管理物理服务器相比,使用 Azure 应用服务托管 Web 应用可以大大简化 Web 应用的部署和管理。同时我们也不需要去维护服务器。

所以,我们就开始讲一下Auzre的一项Paas 服务----- Web App

----------我是分割线-------

Application Insihts:https://www.cnblogs.com/AllenMaster/p/13173853.html

二、正文

1、什么是 Web App?  

Web App是一项基于 HTTP的服务,用于托管 Web应用程序、REST API和移动后端 。简单讲,我们在Auzre Portal上创建一个 Web App 后,我们可以直接把写好的代码进行打包,发布就ok了,不在去安装一些应用所依赖的语言框架。Web App已经支持多个先阶段主流的开发语言及其框架,而且 Web App 可以进行可用性的缩放,也可以无缝的切换生产/测试环境。

Azure Web App是一个完全托管的 Web 应用程序托管平台。Azure 提供的这一平台即服务 (PaaS) 让你能够专注于应用的设计和生成,同时由 Azure 负责维护用于运行和扩展应用程序的基础结构。

2、创建Web App服务

登陆Azure Portal,新建资源,搜索“Web App”

b9af8ebe4b7e61c200fa8794af97403c.png

我们有看到创建Web App需要的一些参数 比如,Publish的类型,Runtime依赖环境,Region区域等

caf2d6c4be7f4042aca05d8e9a9e29b9.png

填写 Resource Group项:新建一个 Web_Test_RG 资源组

注意这里圈起来的“Linux Plan”,这里这个应用程序计划是自动进行创建的(这里先不过多讲解,稍后会提到)。

caec6693b525cfbc97e73c5848d98d3a.png

Sku and size 默认是3.5G内存,210个计算单元的配置

以下链接是针对于 Web App 服务的定价详细信息

中国区:https://www.azure.cn/pricing/details/app-service/

全球版:https://azure.microsoft.com/zh-cn/pricing/details/app-service/windows/

我们自己根据自己的实际情况去选择这些 定价层,我这里是演示用 所以就选择 Dev/Test 的  F1 的Free版本

1e35c59c2df4cdd2e9704cc8500ceb8a.png

0e4f30079513cf1aaa06016c4e80e5d6.png

59252b8849e0d271c7f9ec465a643454.png

77c6f962db3ead357688f4a3789d2e39.png

填写 Name : CnBateBlogWeb

d4546a84bcbf00eaed726971466b976f.png

我们可以看到 Runtime stack 微软已经给我们提供了多种环境的语言框架依赖,我们根据自己的实际项目进行选择,我这里选择是的是 .Net Core 3.1

96624fd7cabf0957a9ae9b4a66df4b64.png

Publish 我们可们选择 Docker Container看看, 可以看到是支持发布到两种 docker 环境的container,我这里暂时选择的是 先选择 code,不使用docker 发布。

Operating System 选择 windows

6574c0388185e3475bea2242da6cf0a2.png

点击 “Next:Monitoring>”  我们可以看到 关于监控默认是开启 "Application Insights" 应用程序遥测的

不清楚 Application Insights的话,可以先去看看我的另一篇文章 Azure Monitor (一) Application Insights 

cd8b96ee6dc3d2fd46020beac034709c.png

点击 “Review + create”,这一步其实是azure 提前帮我们做一个检查,比如是某项没有进行填写,或者说 起的 Name 不可用等等,做一个预检查操作。

746bc56c39f9293eb18cc0d3cbcef24c.png

创建成功后,我们点击 “Go to Resource”,我们那可以看到3个服务,分别是刚刚建立的名叫 “CnBateBlogWeb” 的 App Service,一个CnBateBlogWeb的App Service plan,另外一个数据 叫做 “CnBateBlogWeb”的 Application Insights的遥测服务。

ce070d46ff0ba3ccb1a0413934c41883.png

3、创建.Net Core的Web项目

选择ASP.NET Core Web 应用程序,点击下一步

a7728dd34b64fb2e8a0a3b2e8cb796ce.png

输入项目名称“CnBateBlogWeb”后,点击 “创建”

f33e82ee895fc7313db7880108d9bab3.png

选择 Web应用程序,取消为 HTTPS 配置,点击创建

546bb5d7d889216df8407557b12d9ef5.png

项目代码结构图

 4be7abbb54faaee6fd7707d0fdf87cdd.png

设置使用控制台进行启动,而不是IIS,删除launchSettings文件中我圈起来的部分,启动 F5 进行测试

e3a9ce1fff82ad475a8d7eae458c43d4.png

启动F5 进行测试

ee8d0b5fe7fc10858ae2e7da6f978d68.png

4、发布我们的项目

如果我们个人是有全球版的azure的订阅账号,我们可以直接在VS进行登陆

6d9c40acffda5b409cb94dd8a3430800.png

如果我们有中国区的azure 账号,我们首先得去azure的 工具=》选项里面的 “Azure 服务身份验证,进行设置登陆azure账号类型

点击 “添加账号”

0d81c32d036698fde3312b2f7d5f111f.png

选择 “Azure In China”进行认证登陆。

d74a2c477f7bf704d36d393d39fb77ce.png

项目解决方案上右键选择 “发布”,选择 “应用服务”=》选择现有后,点击 “创建配置文件”

c0d89439ec6a5d7307aa8b5015b94dfa.png

我们可以看到刚刚在 Azure Portal中我们创建 Web App是 选择创建新的资源组 “Web_Test_RG”

e128c5c82bceb5b5ddc33769744a894c.png

点击 "Web_Test_RG" 资源组,选择刚刚创建的 cnBateBlogWeb 的Web App,点击 “确定”

d704197f57b392eafa19466a49113d01.png

经过短暂的验证后,我们可以看到一个发布的一些配置信息

如 WebApp 的名称,站点的URL(这个是azure为我们的Web App 生成的一个二级域名,可通过这个二级域名访问网站),资源组的名称,以及项目的框架

点击 发布

1087101ed75937c38437344545013416.png

我们可以在VS输出的的整个过程。

26bfb998e7e13bc37e8dd47aa33ddba6.png

392c3ea1015be06654dc42469ca554c6.png

167b936854835b739c891d8bfb9b0b45.png

c728386c8a02f2d15470ccc004164352.png

5、测试发布是否成功

复制站点URL,在浏览器里面进行测试。

39d24cbffb23aea38f20055a75d7ad0e.png

bingo,成功!

c09e4deaf9cc46591bad30f927d34dd8.png

最后我们登陆azure portal上看一下刚刚发布的Web App

选择Console后,输入“ ls”,我们可以看到 我们项目打包好生产的 dll 全部在 "App Service"的 home\site\wwwroot 这个目录下

a18aacd52f1baf815e171f3604ebe64c.png

三、结尾

我们演示了一下,如何在Azure Portal 中创建 “Web App”这个 paas 服务,也使用VS创建了一个.NET Core的 Web项目,进行发布到创建的Web App中,同时也提到了使用不同版本的auzre 账号如何在VS中进行配置。

下一篇文章,我会介绍一下如果使用FTP的方式上传我们的项目代码,及其Web App 的另一项功能-----Deployment slots(部署槽)

代码暂时不上传了,因为没有设计到其他设置,只是简单的创建了一个Web项目。

- EOF -

1f3f77914883ed534804a2a9999f9b0a.png

推荐阅读   点击标题可跳转 gRPC by .NET Core 3.x:概念、语法、编译 微服务中如何设计一个权限授权服务 理解C#中的ValueTask

看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

a5110b549f09b8a1698e451c6faeb752.png

好文章,我在看❤️

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值