9. 发布
Web应用做好了,怎么才能发布到互联网上,让大家都可以使用呢?
总的来说,你需要一个能够被大家都访问到的储存空间来放置你的网页,同时也需要一定的计算资源来完成Web服务器软件的运行,或者你的Web服务后端的程序、数据库的计算。如果在国内,根据工信部的规定,网站还需要完成ICP备案才可以正常访问。那么具体怎么做呢?首先我们来看看这个时代的解决方案。
云计算平台
“云计算”仿佛是一个年代的前沿词汇,但是到了今天,云计算已经日趋成熟,成为了一种稳定高效的商业模式,也是当下大多数应用的基础。
简单来说,所谓“云计算”,就是IT巨头把自己用剩下来的计算资源放在网上供其他人租用。世界上著名的云计算平台有:Azure(微软)、AWS(亚马逊)、阿里云(阿里巴巴)等等。我们发现,这些公司往往都有巨大的算力需求,并且这样的需求往往集中在一小段时间内。
例如,阿里巴巴旗下的淘宝,在双十一期间有巨大的算力需求用来处理海量的交易请求。但是在平常时段,这部分算力往往会闲置造成大量浪费。通过建设云计算平台,让每一个应用能够动态获得算力,就可以使得庞大的算力资源分配更加合理。阿里云在春运期间就用其海量的计算资源帮助了12306铁路售票,提供了稳定流畅的服务。
这就是云计算平台,通过整合、调度整个集团的计算资源供全网有需求的商户使用,从而提高资源的利用率。
在国内,我们经常使用的云计算平台有阿里云和腾讯云,它们都提供各式各样的服务,我们网页应用需要用的往往只是其冰山一角。
域名
首先,你的网页需要一个域名。基础章节中讲过,域名就像是网络空间的街道号码,用户可以通过你的域名来找到你的网站存放的位置。
在阿里云的域名服务(万网)中,不同的域名有不同的价格,如果只需要找一个普通的域名,年费用大概是十几块钱。购买域名以后,你就可以通过阿里云控制台来设置域名解析。
域名解析:通过阿里云旗下的DNS服务器设置域名对应的地址,从而将域名和你的网站空间相连接。通常使用
A记录
解析域名到一个IP地址,使用CNAME记录
解析域名到另一个域名地址。
空间
那么,怎么在互联网上找到一小块空间来存放网页应用呢?
虚拟主机
直接在云计算平台上租用云计算资源固然是可以的,但是往往代价较高,并且需要自行安装Web服务软件等等。为了避免这些麻烦事情,针对静态网页或者使用PHP/ASP的网页,云计算平台提供了虚拟主机服务。
当你租用了虚拟主机以后,云计算平台会给你划分一小块储存空间和数据库空间,你可以把你的网页放在这个空间里。根据虚拟主机控制面板上的指示,将自己的域名解析到正确的地址以后,云计算平台会自动帮你实现Web服务端,你可以直接通过域名访问自己的网页应用。
用万能的某宝购买虚拟主机可以便宜一些,但是要谨防被骗哦!
下面还有一些其它的解决方案
主机
如果你只想把网页发布在局域网内,或者你已经拥有一台服务器了,你可以使用正常的Web服务软件发布网页。以往常用的软件是Apache,但是随着时代的发展,Nginx这款软件凭借它高并发的处理能力大受欢迎。这其中涉及到服务器运维领域的很多知识,不在本篇教程的范围之内。
Pages
如果只是一个小小的静态页面,又不是很想花钱,怎么办呢?各大Git仓库代理服务提供了解决方法!在Github或者国内的Coding上,新建一个Git仓库并把网页代码放进去(参考Git教程),在设置中打开Pages功能,就可以直接通过系统分配的域名访问你的网页了!
注意:只能支持静态页面!(本文讲的基本上都是静态页面)
备案
没错,现在你理论上已经可以访问到你的网页了。但是,除了Pages这种把网页应用寄放在别家服务的方法,其它方案的网站都需要完成备案才可以访问。
在国内的网站,如果不完成备案,是无法访问80端口(http)和443端口(https)的,基本上也就是访问不了啦。
在工信部的备案规则里,个人备案主体只能备案“个人主页”和“个人博客”,需要提供各种网站和域名的资料和实人验证。所幸,如果你的空间和计算资源是从一个云计算平台获得的(例如阿里云),你可以使用平台的“代备案系统”,通过向云计算平台提供各种信息来完成备案。企业备案则需要提供各种企业证明等等。
总之,比较复杂,如果有需求的话要做好心理准备哦!
CDN
既然写到了这里,那我就顺便说明一下什么是CDN,不感兴趣的可以跳过本节。
CDN是Content Delivery Network的缩写,即内容分发网络,是一种大型网络运营商或者云计算平台提供的静态资源加速服务。这句话好绕口
如果你的网页是纯静态的,或者一些图片、视频等等静态资源,如果每次访问都需要从网络空间中加载,就会给服务器不小的流量压力。同时,如果用户离你的服务器远隔千山,纵使网络速度快到离谱,中间的各层转发也会拖慢网页加载的速度。解决方法就是CDN!
使用了CDN服务的网站,服务提供商会将你的静态内容同步备份到遍布全球的缓存服务器当中。只要你将域名解析向服务提供商的动态DNS,动态DNS会自动判断访问者的网络情况,并且把访问者引导向最方便的缓存服务器。这样,五湖四海的访问者会从庞大的缓存服务器网络中加载资源,而不是全都从一个服务器中加载,从而大大提高了静态资源的加载速度。
你可以通过云计算平台购买和配置CDN服务,这是比较高阶的内容了。
进阶
如果你想把网页应用发布到更多的平台上,你还可以学习Hybrid App技术。它可以把网页应用打包成手机App或者微信小程序等等。如今,为了适应迅捷开发的需求,很多手机APP和小程序都一定程度上的使用了Web应用的技术。
结语
完结撒花!
这篇教程仅仅讲了Web应用前端的冰山一角,也许不能把各位教会,但我希望能够给大家带来一些基础的认识,带领大家走入Web的大门。也希望大家能够不断学习,紧跟时代的步伐,借用这些技术去实现自己的梦想,也为这个奇迹般的世界做出自己的贡献。
再次感谢各位读者,希望大家能从我的系列教程当中获得收获。同时,也感谢出教程过程中各位大佬的指点!
在这个互联网的时代,Web应用就好像是千变魔女,在不同的时空中展现着她无穷的魅力。