使用Halo开源框架搭建一个网站

使用Halo开源框架搭建一个网站

Louis 999 2020-06-10

很多人关心这个网站是怎么建出来的(其实并没有很多🙃),加上我在之前的文章里面立了flag要讲解一下,所以就有了你们看到的这篇文章

1. 得到一台可访问的云服务器

云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。(我大三的时候才开始知道云服务器是个什么东西,实在是太菜了)

在运营商页面购买服务器

不同的运营商可能有不同的购买页面,但是应该大同小异。我用阿里云的的ECS来举例好了。

配置选择

配置方面:

  • 共享型完全够用,不用担心
  • 内存2G最好,1G也能用,我好像就是1G的
  • 区域应该没关系吧,我地图炮比较喜欢深圳
  • 系统有些人喜欢CentOS,但是我觉得Ubuntu也没啥区别
  • 系统盘默认40G就好
  • 时长看你喜欢,选得越长单价越便宜。
  • 一年300+感觉还可以,如果24岁之前,默认获得学生身份,2G的内存只需要140+一年,四舍五入白送。

点击下一步之后会出现性能警告,意思是这个主机可能比较弱鸡,先警告你,到时出了问题我可不负责任。直接选确定就好,我们也跑弱鸡应用而已,不怕。

选择网络安全组

由于直接点分配公网IP要加钱,不分配的话,外网就无法访问你的服务器了。但是对于这些浏览量不大的地方,先不选分配,后面再绑定一个公网IP就好。

系统配置

主要是设置密码,我对主机名没什么要求,设置好密码就可以点击确认订单了。

需要自己拿出支付宝或者银行卡来付钱,如果现实余额不足的话,给我打钱我帮你付😉

分配弹性公网IP

分配弹性公网IP
在控制台中选择专有网络->弹性公网IP->申请弹性公网IP,就会出现下面这个令人快乐的界面了。
开通弹性公网IP

  • 带宽峰值跟计费没什么关系的,反正就是按流量,用多少算多少
  • 配置费用按小时计算很吓人,其实绑定之后就不会再计算了

直接点击确定订单,就可以开始绑定了。

在控制台中选到你刚买的弹性公网IP,点击绑定,选中你刚刚买的服务器就好了。此处没图,因为我绑定过了。不想重新解绑。

至此,你已经可以通过ping (your ip) 的方式验证你刚刚买的服务器已经接入公网了。

2. 配置服务器安全组(2020年12月31日补充)

安全组是云服务器提供商提供的防火墙。其他用户需要从指定端口访问云服务器时,先通过安全组过滤,然后到达系统防火墙,最终才能完成访问。如果上一步的效果没实现,可能是安全组配置问题。

安全组编辑方式:选择对应ECS->管理->安全组->配置规则

选择快速添加,添加以下端口:

所开放的端口:

  • 22:用于ssh远程登陆
  • 80:使用http浏览博客时用到
  • 443:使用https浏览博客时用到
    如果需要使用其他端口,记得在安全组中添加上。

3. Halo部署安装

官方安装指南:https://halo.run/archives/install-with-linux

官方讲得很细了,再赘述了。可能会出现下载jar包的时候网速过慢,如果遇到,试下从我的OSS进行下载:

wget https://louisyuan-cn.oss-cn-shenzhen.aliyuncs.com/halo-latest.jar

完成后,你应该可以通过IP访问到你的halo站点。

4. 绑定域名和备案

  1. 首先要购买一个域名
    在云服务器的提供商(百度、腾讯、阿里等)都会有域名可以买的得到,不同后缀的域名本质上没有什么区别,只是com要贵一点,cn其次,其他xyz、top之类的就更加便宜,购买域名的时候注意:有些后缀的域名目前是无法备案的。
    阿里云的域名购买界面,搜索hahaha.cn列出的结果

2.进行域名解析
不同的云服务器供应商会有不同的绑定界面,都大同小异。域名解析的意思是:用户访问特定的域名的时候,转向你指定的ip。毫无疑问,这个步骤需要把上一步购买的域名绑定到自己的云服务器公网ip上。

还是以阿里云举例:点击控制台>域名控制台>选择自己刚刚买的IP>解析>添加记录
阿里云的域名解析配置

  • 记录类型:A(指向一个IP地址,后面可以把它指向cdn加速域名)
  • 主机记录:www(域名前缀,这么填写是解析到www.你的域名
  • 解析线路:默认
  • 记录值:填写你的公网ip
  • TTL:默认是10

点击确定之后,就可以完成域名解析,域名就成功指向你的ip了。你可以使用ping域名的方式来确定自己的ip绑定完成。

  1. 完成工信部备案
    绑定完成的3分钟左右,工信部会侦测到你的域名未经备案,会对你的流量进行拦截。

您的域名被屏蔽访问的原因:
1、未取得工信部网站备案号,按照工信部33号令屏蔽访问。请您办理工信部网站备案,取得网站备案号后恢复访问。
2、网站内含违法信息,按照《网络安全法》屏蔽访问,请您检查按网站清理违法信息。

(网上竟然找不到这个信息的截图……)

还是以阿里云举例:阿里云备案帮助手册

  1. 注册一个主体(是你个人)
  2. 新增一个备案(你的网站)
  3. 使用阿里云手机APP完成人脸识别和身份证上传工作
  4. 等着接阿里云的电话、工信部倒是不会给你打电话

我做过一次新增备案,一次备案变更,首次备案还是很快的,大概7天左右就可以收到a阿里云发过来的备案号了。第二次是变更备案,耗时大概20天左右,不过由于变更的时候旧的备案信息还是可以用的,所以并不影响网站的访问。

提醒一下,网站备案不需要网站处于可访问的状态,不过不要给人家返回403(拒绝访问)之类的东西,直接把服务器关掉。我新增备案的时候网站没做,所以是不可访问的,备案能通过。第二次变更备案的时候由于www域名配置有问题,阿里云打电话叫我开一下www的访问……

备案完成收到阿里云的邮件

邮件中提到两个重要的事情:

  1. 完成工信部备案之后还要去公安局备案(本文不提及)
  2. 在网站下要悬挂备案号

悬挂备案号的代码随便百度搜索搜能找得到,你现在看到的这个页面的悬挂方式是:

<a rel="nofollow" href="http://www.beian.miit.gov.cn" target="_blank">粤ICP备19010468号</a>

至此,你的网站已经可以通过域名访问了,后面的几个步骤是可选的,并不会影响网站的正常工作。

5.配置SSL证书

SSL证书(SSL Certificates)为网站和移动应用(APP)提供HTTPS保护,对流量加密,防止数据被窃取。简单说,能够把使用的http链接变成https,加了ssl之后,浏览器访问的时候“不安全”字样就不再显示了。

更加详细的关于SSL的介绍,点击这个链接:科普!什么是SSL证书?为什么要买SSL证书?

  1. 购买一张SSL证书

云服务器提供商会提供ssl证书购买,还是以阿里云举例:点击SSL证书>立即购买

需要挑选一下选项才可以找到不要钱的ssl证书,下面给出选项

价格为0的ssl证书

  1. 购买完成后,前往控制台下载证书
    SSL证书管理控制台>下载>Nginx版本
    SSL证书控制台中展示的两张证书

  2. 配置Nginx使用证书
    下载的证书通过ftp上传到自己的服务器。

我的这篇Nginx的文章讲解了如何配置Nginx来使用证书。
Nginx的配置略解

至此,你的网站完成了搭建和访问,赶紧去后台更新文章吧