自建网站的多种姿势




盘点搭建静态网站的多种方法

本文由繁至简,由通用到针对静态网站,由高昂到便宜介绍各种你想到想不到的搭建网站的方法!

喜欢互联网的伙伴多少会有自己建站的冲动,准备搭建网站却无从下手的伙伴们可以参考参考本文~
原创地址:https://www.cnblogs.com/yunmuq/p/14586647.html



一、最常规的搭建路线-云服务器

搭建一个大家可以访问的网站,需要一下资源:

一台计算机;一个公网IP。这时就可以通过IP来访问搭建的网站了,但IP难以记忆,可以购买一个域名,将域名解析到IP上后。大家在浏览器输入域名,电脑会先请求dns服务器获得IP,再通过IP访问资源

常规的建站步骤:

  1. 租一台云服务器(包括带宽、IP等网络资源),部分公司也会选择自己购买服务器和运营商专线

  2. 部署,不会码代码的伙伴可以选择套WordPress模板、Nginx静态网站之类的

  3. 访问,觉得需要域名的话还要就行购买、解析和备案

  4. 搜索引擎收录和SEO优化

租云服务器方案的优点
  • 使用方便快捷。购买云平台的这类产品,如阿里云的ECS,他们往往不是物理上的独立主机,但是你可以像使用普通电脑一样使用它的CPU、内存、带宽...

  • 平台会提供快速的镜像部署甚(安装系统)至环境部署(软件安装,如lamp)、提供防火墙以及几次更换IP的服务等等。同时购买平台的其它配套产品时,对接也会方便很多

缺点

  • 价格高昂,特别是CPU资源和网络带宽。但学生丐版可以低至十几元一月。

  • 备案手续繁琐。根据相关法律法规,在国内平台解析域名至国内IP必须要到工信部备案你的域名,备案手续可以在平台办,平台会帮你登记到工信部

    备案最繁琐的一步是平台给你寄背景纸(幕布),你必须以此幕布拍一张手持身份证照片。最后,域名到期了必须申请注销域名备案,防止被别人续费盗用备案。



二、较折腾的方案-家庭电脑作服务器

比方案一更具性价比

云服务器收费偏高,像作者这种普通家庭个人估计只能承受得起学生or新用户体验配置。一般一年在100软妹币左右,这往往只有1-2核、2G以及1-5M带宽,看起来配置不咋地,但是原价是大几百一年呢,所以一年结束后只能换一家继续享新用户优惠

家里有宽带的朋友其实完全可以用自己的电脑做服务器

家庭PC做服务器,无非就两个问题,网络和断电保护,后者设置不用考虑

家庭或租房,如果是光纤入户,办宽带装光猫的话,是可以用路由器做NAT duan口ying射解决网络问题的。如果是合租或隔断房没有光纤入户,那只能找其它平台提供的duan口ying射了



2.1 动态域名解析解决公网访问

2.1.1 路由器duan口ying射

办了宽带不好好利用那就可惜了

运营商光纤入户的话,带宽是变动IP,且禁用80、443等端口的

搭建网站想公网访问,可以用动态域名解析方案,并避开80、443等端口

首先,运营商给你装宽带时光猫是路由模式,这光猫除了调制解调也能做有线、无限路由,但是路由功能较差

你需要额外购买一个路由器,带duan口转发功能的

再把光猫改成桥接模式,自己找教程,需要破解光猫管理权限,然后在自购路由器上进行拨号

简单说一下,光猫路由模式是由光猫进行拨号,你自购路由器就是二级路由,它拿不到公网IP,而光猫一般不支持duan口ying射。我们改成桥接模式后光猫只负责调制解调,由自购路由进行拨号,这里你需要拿到宽带拨号的账号和密码

最后在自购路由上配置公网IP到你服务器主机的端口转发规则即可



2.1.2 动态域名解析DDNS

可以参考我这篇文章:NameSilo的DDNS动态域名解析脚本

逻辑是一个定时检测本机公网IP并同步给域名解析记录的程序



2.2 第三方映射平台解决公网访问

如果没有宽带、公网IP,或者路由器不支持端口映she,就只能用这种反向代理了

逻辑是在公网和你的主机间架一个服务器,进行流量转发,这种一般按流量计费,且有带宽限制。类似代理、加速器之类的,但是协议上区别还是很大的

推荐一个良心免费平台:SAKURA FRP ,还听说过一个叫 ZeroTier



2.3 断电保护

作为服务器如果突然欠费停电,可能会造成数据丢失等问题

合格的电源在断电时可以提供毫秒级别的电源保持时间(Hold-up time),但这只能一定程度上保护硬件不被损坏,运行中的服务的数据还是有丢失风险

解决办法是配一个UPS(Uninterruptible Power System/Uninterruptible Power Supply),即不间断电源,保证断电后有更长使用时间,我们能采取措施保存数据后再退出程序

但是这无疑增加了成本,所以我推荐直接用笔记本当服务器

还真不是玩笑,用退役笔记本的话能节省成本,没有的话买个工控机也可以,还能同时做软路由ヾ(≧▽≦*)o 再不济用退役手机或单片机也能做服务器,比如这个网站的服务器就比拳头还小



2.3 总结

优点:

  • 性价比高,自己的电脑随便上四核8g,宽带的上行怎么也有20M+,家庭宽带的上行,对你网站的用户来说就是服务器的下行

缺点:

  • 需要折腾的点有点多,且访问网站需要避开默认的HTTP(S)端口

  • 推荐部署HTTPS加密,很简单,去阿里云等平台申请一个免费的证书就能部署

    用自己的电脑做服务器不部署HTTPS的话你的网站可能在传输的过程中被插入广告



三、静态网站托管

零金钱成本搭建静态网站

从此开始是针对静态网站搭建的方案,静态网站即只有前端html、js、css文件的网站,没有后端逻辑和数据库,所以只能向用户展示html等文件,不能提供登录、评论、商城等功能

虽然叫静态网站,但是页面是可以动的,比如一些动画

最常见的静态网站就是独立博客了

由于没有后端,所以可以认为搭建静态网站不需要用到cpu和内存资源,只需要用到存储和网络即可,所以我们也不需要一个完整的服务器主机

最简单的我们可以进行代码托管,就是大家熟悉的git和github

github仓库中一堆前端文件怎么让它们能被网页形式访问呢,答案是GitHub Pages,参考官方说明文档

You can use GitHub Pages to host a website about yourself, your organization, or your project directly from a GitHub repository.

而且支持HTTPS

我们可以写好文章,然后用Gridea、Hexo等软件生成静态页面,再用git push

此方案缺点:

  • GitHub Pages有使用限制,但是影响不大

  • GitHub国内访问慢,这个有两个解决方案

    • 使用码云的Gitee Pages代替,没在官方文档找到使用限制,不过个人感觉不如GitHub好用

    • 使用cdn加速GitHub Pages,这里推荐Netlify

    此外如果你使用的博客主题中部分第三方文件访问速度慢的话,可以下载下来放到自己的代码中

  • 更新文件需要时间,当你push一些改动时,网页并不会立即更新,而需要等待二十分钟左右,如果用了cdn加速,那需要更长时间的等待

  • SEO不给力,GitHub中的内容能被搜索引擎搜索到,但效果不佳。其实写博客不追求独立博客的话,完全可以使用博客平台,它们会给你做搜索引擎优化,最推荐博客园,因为可以自定义主题,最不推荐某广告多得一批文章质量渐低的平台



四、对象存储OSS

静态网站的另一种解决办法,除了要备案域名,其它的体验都好过代码托管

对象存储可以理解为存储一些你需要访问的一些网络资源,比如js、媒体文件等,放在服务器占带宽过多可以分开存储

相比cdn加速,对象存储是单节点的

以阿里云为例,使用OSS的静态网站托管,只需付出几毛钱的代价,就能换来比GitHub Pages更好的传输、访问、配置体验,而且同样支持HTTPS

缺点是作为网页的话必须绑定一个域名,OSS的Bucket在大陆的话,域名必须是备案过的,参考一、最正常的搭建方法

未绑定域名时,访问OSS资源,服务器的响应都会带上Content-Disposition的HTTP头,致使打开链接时html文件无法被浏览器打开浏览,而是作为文件下载




The End (๑•̀ㅂ•́)و✧

往期精彩文章推荐:

《zookeeper未授权访问渗透测试及修复方法》

《fastjsion反序列化漏洞渗透测试笔记》

posted @ 2021-03-29 10:32  云牧青  阅读(1180)  评论(0编辑  收藏  举报