教你3分钟搭建一个网站?腾讯云Serverless开发体验
作为一个开发者,应该都能理解一个网站从开发到上线,要经过很多繁琐的步骤。
编写代码,部署应用,部署数据库,申请域名,申请SSL证书,域名备案,到最终上线起码要几天时间。
作为一个不精通代码的业务玩家,当你南昌代记账网想搞个网站玩玩时,经常会被淘宝贵得离谱的报价吓跑。
这两年Serverless的概念被炒得火热,顾名思义,“无服务”。今天的这篇文章,我想站在一个开发者的角度,带大家简单的体验下使用腾讯云Serverl南昌代记账网ess来开发网站的整体流程。看看在Serverless的概念下,开发网站是不是变得更加简单了。
本文的主要内容:
Serverless概念解释3分钟部署一个网站10分钟开发一个在线RSS阅读小站腾讯Ser南昌代记账网verless Web Function的优缺点分析我是蛮三刀,关注我的个人原创技术公众号:后端技术漫谈
首先放一个我部署好的RSS在线阅读器页面:
只要在url传入需要解析的RSS订阅地址,比如xxxx南昌代记账网/rss?rssurl=https://blog.csdn.net/qqxx6661/rss/list ,就可以解析出该RSS,并渲染成你想要的博客样式。
整个实现代码除了html模板,只需要4行代码。南昌代记账网
Serverless概念
Serverless是一个怎样的运行原理呢?简单的解释下:
腾讯云云函数是腾讯云提供的 Serverless 执行环境。您只需编写简单的、目的单一的云函数即可将它与您的腾讯云基础南昌代记账网设施及其他云服务产生的事件关联。
当然了,Serverless不是表示没有服务器,而表示当您在使用 Serverless 时,您无需关心底层资源,也无需登录服务器和优化服务器,只需关注最核心的代码片段,南昌代记账网即可跳过复杂的、繁琐的基本工作。核心的代码片段完全由事件或者请求触发,平台根据请求自动平行调整服务资源。Serverless 拥有近乎无限的扩容能力,空闲时,不运行任何资源。代码运行无状态,可以轻易实南昌代记账网现快速迭代、极速部署。
它的大致执行流程如下图:
所以,Serverless其实本质上是云服务上帮你整合了云资源,你只需要编写最核心的代码,比如一个请求过来如何处理和返回对应的数据。其他的服务器部署相关的南昌代记账网事情,都交给云服务商。这样带来的最核心的好处是节省了大量资源,只有你的网站有人访问时,才会计算资源消耗的价格,大幅度降低了成本。
可能你只是想搭建一个博客,以前可能需要买一年的服务器,起码一年开销几百元南昌代记账网。在Serverless下,如果你的博客访问量并不是很高,可能一年只要花费十几块钱。
3分钟部署一个网站
我们打开Serverless创建函数服务页面:
https://console.cloud.tenc南昌代记账网ent.com/scf/list-create?rid=16&ns=default&keyword=WebFunc
选择Python3 Web函数模板:
接着可以设置一些基本信息,这里我啥也没修改,直接点南昌代记账网击完成。
大概等待30秒,一个Serverless服务就创建完成了。
接下来,我们就被跳转到了代码编辑页面。由于我们在上面的选项里选了Python3 Web开发,所以代码默认有了一个最基本的Flask框架南昌代记账网南昌代记账网cts.com/en/2.0.x/)
模板代码已经有了路径(“/”)最基本的返回值,我们把它改几个字,然后点击左下角部署按钮。花费了十几秒部署完成后,点击测试,我们就能看到返回的Body了,如下图。这时南昌代记账网候你访问页面,也返回了同样的结果。
一个最最基础的Web服务器就OK了,不需要买域名和HTTPS证书,不需要SSH登录服务器,不需要手动编译代码,。
10分钟开发一个在线RSS阅读小站
上面是牛刀小试,接下南昌代记账网来稍微整一个复杂一点点的例子。
**我一直觉得RSS阅读是一个虽然过时,但是其精神一直在传承的阅读方式。**比如微信的订阅号,可以说其本质也是一种RSS阅读,通过关注订阅,并获得更新文章的推送,来定制化南昌代记账网你的阅读内容。
所以我想做一个RSS解析器,通过传入RSS的网址(很多网站还保留有这个网址,比如CSDN,比如阮一峰的博客等),能够渲染出该RSS链接里所有的文章,并展示在网页上。后面,还可以深度地修改南昌代记账网页面的展示,做出一个微信订阅号网页版,也不是不可能,哈哈哈。
OK,花里胡哨的就不扯了,先开始实现一个最简单的事情,把RSS链接渲染出来。
我们使用官方的Flask模板,这个模板的Flask环境相对更加完南昌代记账网整,方便开发。
我们首先需要一个RSS解析的框架,在Python中,有一个feedparser的框架,能够解析RSS url。
使用pip3 install feedparser安装feedparser:南昌代记账网
接着我们在app.py加入代码:
import feedparser @app.route(/rss) def rss(): feed = feedparser.parse(request.南昌代记账网args.get(rssurl)) return render_template(rss.html, entries=feed.entries)在这里,我进行了一波本地调试,看一下feed这个参数,拿到了南昌代记账网什么:
可以看到,解析后的rss链接,被feedparser框架解析为了一个数组,每个entry是一个文章的标题,作者,链接等。
根据上面的参数名,我们再加入一个rss/html,放在templates文南昌代记账网件夹中,里面写好了我稍微美化过的html页面,并且将每篇文章循环插入html中,这里用到了flask自带的渲染模板jinja2:
<html> <head> <title>RSS阅读博客</title> <l南昌代记账网ink href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.0.2/css/bootstrap.min.css" rel="styles南昌代记账网heet"> </head> <body> <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.0.2/js/bootstra南昌代记账网p.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.slim.min.js"></南昌代记账网script> <div class="container-fluid"> <div class="row-fluid"> <div class="span12"> < class=南昌代记账网> <div class="container-fluid"> <a class= href="#">RSS解析器<南昌代记账网/a> <button class= type="button" data-bs-toggle="collapse" data-bs-target=南昌代记账网edContent" aria-controls= aria-expanded="false" aria-label=>南昌代记账网 <span class=></span> </button> <div class= id=南昌代记账网rtedContent"> <ul class=> <li class=> <a class=南昌代记账网" aria-current="page" href="#">首页</a> </li> </ul> <form class="d-flex"> <input class="form-control me-2" type南昌代记账网="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success" type="submit"南昌代记账网>Search</button> </form> </div> </div> </> <div class="accordion" id="accordionExample">{% for entry in 南昌代记账网entries %}<div class="accordion-item"> <h2 class="accordion-header" id="heading{{ loop.index }}"> <button南昌代记账网 class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapse{{ loop.index南昌代记账网 }}" aria-expanded="false" aria-controls="collapse{{ loop.index }}">{{ entry.title }} | {{ entry.publi南昌代记账网shed }}</button> </h2> <div id="collapse{{ loop.index }}" class="accordion-collapse collapse" aria-labell南昌代记账网edby="heading{{ loop.index }}" data-bs-parent="#accordionExample"> <div class="accordion-body">{{ entry南昌代记账网.summary | safe }}</div> </div> </div> {% endfor %} </div> </div> </div> </div> </body> </html>两个文件修改完,直接点击部署南昌代记账网然后访问腾讯云给我们分配的域名:
https://service-ehshqmzv-1252138314.cd.apigw.tencentcs.com/release/rss?url=https://b南昌代记账网log.csdn.net/qqxx6661/rss/list
image-20210801114213652
可以看到,完美解析出了我CSDN博客的RSS流,并且可以一个个打开。动图见文章最上方。
Web 南昌代记账网Function的优缺点分析
可以看出来,Serverless开发一个网站和传统网站开发区别非常大,它撇去了传统开发中那些冗杂但是又不经常会去修改的配置和流程,让开发者专注于业务逻辑的开发。但是这种开发南昌代记账网方式真的完美吗?我思考了一下它的优势和不足。
**最明显的优势便是它简化了开发的步骤,省去了很多部署的无聊工作量。**但是,它的简化是有代价的,简化是会牺牲很大一部分灵活性和可定制性的。简化能够好用的前南昌代记账网提是,云服务商把这些事情做到了,并且做好了。如果你的网站需要大量复杂的逻辑,并且需要优化网关的配置,那么很多事情在Serverless下,至少在目前提供的Serverless下,还是做不到的。
上面说到南昌代记账网的弊端,其实会带来一个很大的问题,就是沉没成本,当你花了很多时间在Serverless上,却发现有一些小的要求或者定制化,没法实现,这时你是去翻文档,提工单,还是选择老老实实买个虚机,自己手动重新部署南昌代记账网呢。
当然,上述观点是一个开发者的视角来看的。
作为普通消费者,可能很多时候只需要部署一个静态网站,用来放一个博客,或者说推广下自己的公司和产品。那么Serverlss大概率是符合要求的。
除了上面的主要矛南昌代记账网盾外,还有一点是我想提出的,就是目前在线代码编辑页面的调试功能有点太弱了。
在最开始的Python3 Web模板中,在线的依赖库貌似缺失了新版本的feedparser和flask,导致我在本地调试能够运南昌代记账网行的代码放到Serverless上各种不成功,但是错误信息却很难找。导致我不得不在VS Code的终端里,一个手动开flask服务,一个去curl请求,才能看到报错信息。
当然,这个可能是我自己走的歪路南昌代记账网,但是在页面上,很难一眼看出来Debug窗口在哪里。
在用户体验上,还有很多事情可以做。
总结
不知不觉又是一篇2500字的文章,一个完整的周末又没有了。
Serverless概念提出了好几年了,其产品形态总南昌代记账网感觉还在摸索阶段,它的用户群体到底是开发者,还是普通消费者,其实还是会被产品形态所影响。
不管怎么说,Serverless在成本的节省上是有目共睹的,我也希望在我的云服务器过期后,能够把自己的博客和其他南昌代记账网服务,部署在Serverless上,能够节省一大笔开销。光是成本这一点,就值得我不断关注着Serverless。
如果文章对你有帮助,请各位老板转发支持一下,你的支持和鼓励对我非常重要~
个人公众号:后端南昌代记账网技术漫谈
标签:
相关文章:
泉州SEO,优化体验,精准触达
百度指数,精准洞察,数据领先
芷江航空港,便捷启航地
如何将淘宝网店成功开张?
色弱换证轻松搞定
贵州SEO公司价格如何?月费多少?
建设数据中心的意义
响应式建筑房地产开发企业网站模板
百度关键词价格查询
南京SEO招聘,解码互联网时代的人才需求?,陕西交通建设网站
华为云申请网络检测专利,有效地对网络状态进行检测,辅助网络问题定界凤凰传奇收入对半分,康庄大道越走越宽,事实证明选择正确!
唐山企业站SEO优化攻略,关键词布局精准,如何提升排名?,正规的seo优化邀请码
AI赋能写作,思维革新门户
丹东SEO公司价格如何?月费多少?
劝退员工的书面通知
The AI writing trend ushers in a fresh, innovative era.
网站健康升级,Sitemap死链检测利器必备
官网收录量查询,助力网站优化高效提升
SEO优化秘籍,关键词布局技巧,如何提升网站排名?,临潼关键词排名查询
汽车配件SEO,精准流量入口
《SEO实战密码》助你快速掌握SEO
三茅日报丨人力资源相关最新简讯(2024年12月11日)
电商销售分析表
天猫运营助理的工作内容是什么
贵溪SEO,行业先锋网站推广专家
苹果将允许用户直接从开发者网站下载iPhone应用程序二虎相争、有你没我?反转!这次杨幂与赵丽颖联手给娱圈上了一课
花样年上半年营收16.41亿,高管团队主动集体降薪
九月新缩写:秋月简记
眉山抖音SEO推广公司收费情况如何?
能买国外设计师品牌的海淘网站赵奕欢被评级不配做演员,泪洒《无限超越班》!网友:看到锦超的明天?
惠城SEO新攻略:关键词优化,快速提升排名
抖音短视频代运营,哪家企业更专业?
官渡SEO开户,快速提升网站排名
站长之家双榜,网站排名谁领风骚?,培训网站推广收费低
温州SEO快速入门指南
云网客公司,双核驱动,未来何去何从?,除四害网站推广全国派单
职级工资和岗位工资的区别
连锁加盟项目开展网络营销有奇方?
教育网站SEO优化,高效性价比方案
推广普通话,美丽书写新时代
淘宝限购真的能破解吗?
如何做好网站推广?内容推送需要注意以下几点
这2个副业小项目,更适合普通人在家做
响应式环保空气净化器净化设备网站模板
单位退休和个人退休工资有什么区别
AI赋能,一键成文,创作无忧!
招聘司机话术和沟通技巧有哪些
SEO技能助你接私活,收入翻倍,如何操作?,南昌seo推广网站
天猫成交记录如何查看?订单记录怎么删除?
SEO报价方案,精准优化,高效提升排名!