Azure Stack PaaS-网站(WebApp)背后是什么原理?

news/2024/5/20 4:02:55/文章来源:https://blog.csdn.net/weixin_34200628/article/details/85090551

欢迎加入QQ群(423730487)!4月9日在上海有一场线下活动,盆盆还有微软Azure Stack产品组专家会和大家一起分享技术,届时会在QQ群里直播哈。

添加盆盆的微信(markpah),我会把您拉到微信群。


为什么要学习Azure Stack?因为这是学习Azure的最佳工具。


例如Azure里的经典PaaS服务WebApp,是一款广大人民群众喜闻乐见的服务,很多客户用来搭建自己的数字化营销方案。PaaS服务让我们不再困扰于日常的运维,极大地降低了成本。


但是Azure的WebApp背后是什么原理?它是怎么运作的?我们不得而知。而Azure Stack则能帮助我们“管窥”其背后的原理,至少基本架构和原理是差不多的。


不过本文不会涉及到Azure WebApp的部署,您可以参考以下的文档:

https://azurestack.eu/2016/02/enable-paas-web-apps-in-azure-stack-tp1-part-i/


以下是Azure WebApp虚拟机角色的作用:

  • Web Worker– 特殊版本的IIS Web服务器,用来处理来自客户端的Web请求

  • Front End– IIS Web服务器,接受来自客户端的请求,并把请求转交给Web Worker,以及把Web Worker的响应回送给客户端

  • Publisher– 给FTP客户端提供内容发布,还有类似GIT等机制(目前并不支持)

  • Database– Azure Stack WebApp的配置数据

  • File Server - 存放租户的网站内容 

  • Controller–  创建和管理其它WebApp的角色

  • Management- REST API 服务器


我们可以在WebApp的Resource Provider管理页面里看到这些虚拟机角色。

wKiom1byASvh0CLJAAKhG3rEmRc323.jpg


租户网站进程


如果未作特别说明,本文特指免费(共享)模式的租户网站,名称为MarkWebFreeDemo


可以通过Process Monitor来监控租户网站的进程行为。


我们可以看到DWASSVC这个进程启动了租户网站进程w3wp。DWASSVC进程里运行着Dynamic WAS Service,这是Azure Stack WebApp用来替代Windows自带的WAS服务,专门为高并发的网站托管服务。

wKioL1byAsTBvIpRAALB_T7zIhE466.jpg


查看其堆栈信息,可以发现其调用RsFilterApi.dll里的CreateSandboxProcessW函数创建沙盒进程,这样租户网站虽然可以运行在同一个Web Worker虚拟机上,但是彼此之间是隔离的。同样RsFilterApi.dll是WebApp里特有的,也不是Windows里自带的,不知道和Windows Docker之间存在什么关系?

wKioL1byAxyDqJhMAAH262F2yOQ334.jpg


然后可以看到租户网站进程w3wp尝试访问\\10.0.2.101\WebSites上的共享。这里的\\10.0.2.101就是File Server这个虚拟机角色,用来存放租户网站的内容。

wKioL1byAzHiKdAOAAYlqS_QkQ4174.jpg


在Web Worker虚拟机上有个D:\DWASFiles\Sites文件夹,DWASSVC进程用来管理租户网站的配置信息,我们的租户网站MarkWebFreeDemo则在其下有一个子文件夹,里面保存着该租户网站的相关信息,其下有一个名为“VirtualDirectory0”的符号链接,指向File Server的共享文件夹路径,其中保存着该租户网站的内容。

wKiom1byDI6gLjxQAAUkS94AlOM695.jpg


FTP上传租户网站内容


比较奇怪的是,和前任Windows Azure Pack(确切来说并不算"前任")相比,Azure Stack的WebApp多出一个FTP的虚拟机角色,用来提供FTP服务。


由于前面所述的Blog以及官方文档里没有提供FTP的配置方法,所以可以按照以下步骤进行。首先打开WebApp资源组(本例是WebSitesSQL),找到FTP0-1P所绑定的公网IP地址,本例是192.168.133.23。

wKioL1byD4mi_1EoAAV2bBuD7gE746.jpg


然后在DNS服务器里新增一个A记录,ftp.web.azurestack.local为192.168.133.23。


接下来即可在租户网站页面上设置FTP服务器的访问凭据。

wKiom1byDyii1DiXAAO3-DIHuzA845.jpg


然后就可以借助FTP客户端,例如FlashFXP等,即可访问到该FTP服务器,而有趣的是,所看到的FTP文件夹,并不在该FTP服务器上,而是在File Server的租户网站内容文件夹里!


可以做一个简单的实验,通过FlashFXP上传一个index.html到文件服务器上,然后重启租户网站,即可看到内容。

wKioL1byD9az8SnhAACGYnbP7sQ832.jpg


免费(共享)租户网站资源配额


在共享模式租户网站里,由于所有租户的网站都运行在相同的Web Worker虚拟机上,所以会默认加以CPU和内存限制,可以用Process Explorer查看其Job Object信息。例如我们可以看到其中该网站默认使用最多1024MB的虚拟内存。 

wKioL1byEC6xa7JyAAGMeDcZYtU634.jpg


我们可以在Azure Stack的Portal上,打开WebApp的Resource Provider配置页面,依次进入SKUs、所需的租户网站模式、Features,可以看到Site Memory Limit默认是1024MB,这和前面的Job Objects一致。现在将其改为1500MB,并保存。

wKiom1byD7bx1g-eAAMdLn12RAo452.jpg



仔细查看SQL Server虚拟机角色,发现该配置数据写在runtime.SitePolicy的MemoryLimitinMB。

wKiom1byEI3Btes1AASz2bA9SJU363.jpg


重启租户网站,现在可以看到网站的内存限制变成了1500MB。

wKioL1byET6QKnYvAAGMjptIOh4335.jpg


顺便说一下,利用Windows的Job Object来限制一组进程的资源配额,Windows Docker也是采用类似方法,而开源的Linux Docker,则采用类似的CGroup技术。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_759962.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微网站|手机端html弹窗、弹层、提示框、加载条

layer mobile是为移动设备(手机、平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选择使用。GitHub 官网:http://layer.layui.com/mo…

大型网站架构系列:负载均衡详解(3)

原文:大型网站架构系列:负载均衡详解(3)软件负载均衡概述Ngnix负载均衡Lvs负载均衡Haproxy负载均衡本次分享总结一、软件负载均衡概述 硬件负载均衡性能优越,功能全面,但是价格昂贵,一般适合初期或者土豪级…

网站安装打包 修改app.config[六]

在winform的安装工具中,少不免有一些配置文件要放到app.config去,于是修改也是成了一种需求! 无论是修改web.config还是app.config,普遍方式都有两种,用net自带封装的类,或是自定义xml操作。 可参考之前的一…

大型网站系统架构演化之路

一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架…

推荐 | 非常不错的编程学习网站

阅读文本大概需要 3.5 分钟。这周末真的精彩,前有科技圈闹得沸腾的差评,各种吃瓜群众。后有 NBA 历史绝无仅有,东西双抢 7 大战。骑士勒布朗詹姆斯,逆天改命,全场 46 分。勇士克雷-汤普森,佛祖保佑&#xf…

分享一个爬取网站的小技巧

阅读文本大概需要 2 分钟。有时候,我们很想爬取一个网站的数据。如果 PC 端的网页的反爬机制太强,我们可以换个思路。现在很多网站为了满足手机浏览器能正常访问的需求,都会推出手机版的网页。PC 端抓取数据有难度,我们可以从手机…

js通过iframe访问跨域网站,获取不到内部标签?

1.页面iframe访问跨域网站baidu html <iframe id"iframe" src"http://www.baidu.com" frameborder"0"></iframe>javascript let iframe document.getElementById(iframe)2.打印访问内容 1.查看是否可以访问document console.log…

爬虫给力技巧:robots.txt 快速抓取网站

阅读文本大概需要 5 分钟。在我抓取网站遇到瓶颈&#xff0c;想剑走偏锋去解决时&#xff0c;常常会先去看下该网站的robots.txt文件&#xff0c;有时会给你打开另一扇抓取之门。写爬虫有很多苦恼的事情&#xff0c;比如&#xff1a;1.访问频次太高被限制&#xff1b;2.如何大量…

我顺藤摸瓜端了色情网站的老窝,并劝他从良

感谢凌云给我的启发大家好&#xff0c;我是九歌前几天无意发现了一个色情网站&#xff0c;本着除暴安良的心态&#xff0c;直接开始对这个网站开始了调查这个网站的域名是.cn结尾的 【.cn是国内域名,无法隐藏注册人的信息】我去站长之家里面对这个网站进行Whois查询按照惯例这种…

hexo搭建个人博客_GitHubPage和Hexo搭建个人博客网站

title: GithubPage和Hexo搭建个人博客网站 date: 2020-02-09 12:24:45 tags: - github - Hexo categories: GithubPage前言github支持githubPage静态界面来搭建我们的个人博客&#xff0c;自己配置。创建github仓库创建http://username.github.io仓库&#xff0c;同时setting中…

vs打开sln加载失败_你的网站打开速度慢,罪魁祸首居然是它?

相信许多人都不知道&#xff0c;在营销型网站建设当中&#xff0c;著名的黄金8秒原则&#xff0c;意思就是用户点击网站后&#xff0c;大部分都只会愿意等待大约8秒的时间。如果网站不能在这个时间内打开&#xff0c;那么用户就会离开&#xff0c;故而这个时间就成为黄金8秒。而…

CentOS7基础建站指南(笔记)

由于前段时间腾讯云打折&#xff0c;所以买了一台小服务器&#xff0c;想着以后写几个小网站&#xff0c;博客什么的&#xff0c;但是一开始就遇到了难题&#xff0c;大概就是Linux服务器的配置问题&#xff0c;比如如何假设服务器&#xff0c;配置非root用户&#xff0c;配置服…

CentOS8 配置apache 搭建静态网站 踩坑向

apache服务器安装与配置apache简介apache安装挂载光盘设备系统镜像创建yum仓库配置文件安装apache服务下载使用阿里云CentOS-8.repo软件仓库修改 CentOS-Base.repo文件安装成功启动httpd同时设置为开机自启效果图踩坑经验配置服务文件参数虚拟主机功能基于IP地址部署多个网站创…

通过阿里镜像网站制作iso文件安装CentOS6.9

基于网络安装 创建kickstart文件的方式&#xff1a;   1.复制模板/root/anaconda-ks.cfg&#xff0c;而后使用vim编辑配置   2.使用system-config-kickstart来生成&#xff0c;建议使用/root/anaconda-ks.cfg 模板生成 ksvalidator&#xff1a;检查kiskstart文件的配置是否…

256模板官网站点SEO优化分析记录

一直在做SEO网站优化工作&#xff0c;网站搭建好后也没没有做过官网优化的记录&#xff0c;今天有空余时间查询一下记录网站现在的状况。通过站长工具进行分析&#xff0c;织梦模板的关键字一致很稳定&#xff0c;也没有上升的趋势&#xff0c;看来是要进行分析做一下该站点的排…

Linux下Web服务器应用之网站安全-https

Linux下Web服务器应用之网站安全(https)解决方案 HTTPS&#xff08;全称&#xff1a;Hypertext Transfer Protocol over Secure Socket Layer&#xff09;&#xff0c;是以安全为目标的HTTP通道&#xff0c;简单讲是HTTP的安全版。即HTTP下加入SSL层&#xff0c;HTTPS的安全基础…

php mysql首页下载_MySQL(PHP网站后台数据库)

MySQL是一款非常受欢迎的开源SQL数据库管理系统&#xff0c;它由MySQL AB开发、发布和支持&#xff0c;MySQL 的执行性能非常高&#xff0c;运行速度非常快&#xff0c;并非常容易使用。是一个非常捧的数据库&#xff0c;PHP 和MYSQL完美组合。非常好用。安装方法下面的是MySQL…

织梦网站php源码安装,织梦整站源码安装教程

织梦CMS整站源码通用安装教程&#xff1a;第一步&#xff1a;域名和主机的准备&#xff1b;织梦cms程序是php语言编写&#xff0c;在程序安装之前我们购买的主机(服务器)需要支持php语言&#xff01;主机购买好之后域名解析主机的IP地址&#xff0c;主机绑定域名&#xff0c;等…

实战检测北大青鸟某地方学校网站

本文写的是一次曲折的拿北大青鸟某地方学校网站shell的过程。 之前也曾拿过一个北大青鸟某网站的文章&#xff0c;我再次萌生了我个北大青鸟的网站练练手的想法。其实以前我也尝试过检测了几个北大青鸟地方学校的网站&#xff0c;简单看了下没有注入漏洞没有弱口令就放弃了。看…

如何用php制作博客网页,博客网页制作的网站

博客网页制作的网站1.制作一个自己的印章.2.EOOOL是QQ头像、MSN头像、论坛头像、论坛签名、博客广告、通讯工具(邮件、MSN、QQ、书签)等的标签快速生成工具&#xff0c;一个方便、实用的图片制作网站&#xff01;不需要学会任何制图软件&#xff0c;就可以做出漂亮的&#xff0…