WinServer+jekyll+腾讯云实现自己的个人主页

经过几天的努力,终于搭好了自己的第一个个人博客,放鞭!❤
期间踩了无数的坑,好在最后结果还算令人满意,唯一的遗憾是Jekyll似乎不支持在云服务器上使用HTTPS协议,所以目前浏览器的地址栏会提示不安全,逼死强迫症。但听说使用HTTPS协议会明显降低网页加载速度,所以有大佬即使配置成功后依然使用HTTP协议加载,em…那就先这样吧。


开发环境

Windows Server 2016 数据中心版 64位

Jekyll 3.7.4

Gem 2.6.11.4

Bundle 2.1.4

腾讯云服务器的搭建

购买云服务器

首先进入腾讯云首页,在下方找到「学生机」,价格为10元/月,未满25岁可以免学生认证,这里不得不cue一下垃圾阿里云,由于我本科期间在阿里云购买过学生机,导致我的研究生学号无法继续认证,不过也正因如此,才让我发现了腾讯云这个神仙服务器。

设置安全组规则

购买服务器后,进入安全组,打开必要的端口,如HTTPS协议的默认端口为443,HTTP协议的默认端口为80,远程桌面连接的端口为3389。

购买域名

域名是用来映射到IP上,便于直接使用域名访问其绑定IP所在的服务器。虽然直接用IP和端口的形式也可以访问到我们购买的云服务器,但是一来IP不好记,二来因为我还同时开发微信小程序,微信不允许使用IP加端口形式的url。所以只能购买一个域名了。

购买的过程也非常简单,只要挑选好喜欢的域名购买就可以了,我买了一年的.cn顶级域名,也只花了几十块,腾讯云域名购买链接

域名解析

买好了域名,那这个域名怎么用呢,不和IP配套使用的域名是没有任何意义的域名。这里我们需要将这个域名或者其子域名绑定在我们需要对外提供服务的服务器所对应的IP上,也就是我刚刚购买的云服务器的IP上。 在腾讯云后台的云解析里,自动解析你的域名,其中,www字段代表将www.你的域名.cn这个网址解析到你的IP地址,@表示将二级域名xxx.com同样映射到你的IP地址,这样将来不管你是在服务器上输入「你的域名.cn」还是『www.你的域名.cn』都可以直接访问。

域名备案

普天之下莫非王土,互联网不是法外之地,试想,假设申请域名不需要备案,那岂不是人人都可以上线一个「por**ub.com」了?,所以,不管是什么域名,都需要向国家报备,接受监管。通过扫码进入腾讯云的小程序备案页面,开始走流程。

  • 主要流程包括下面几个:
    • (1) 办理幕布拍照
    • (2) 验证备案信息
    • (3) 填写主体信息
    • (4) 填写网站信息
    • (5) 上传材料
    • (6) 确认备案信息,提交初审
    • (7) 通过审核,完成备案

注意!网站的名称不要乱填,之前手贱随便写了一个,结果后来腾讯云的小姐姐打来电话受不可以,又改城『个人爱好』,重新提交的申请,浪费了时间。

这个过程比较漫长,我等了大概四五天左右。

申请SSL证书(后证明无用,可跳过)

哦不,因为我还没搞懂Jekyll如何部署HTTPS协议,所以配置好证书后发现也没啥用,这步就先跳过了,哪位大神知道怎么弄的话可以教教我,感激不尽。


后端服务器的配置

首先去Ruby官网下载『Ruby+Devkit 2.4.9-1 (x64)』

注意!!!踩坑警告!!!即使不安装这个版本,也一定要安装2.6.0版本以下,否则后面会报错!!!

1
Could not find gem 'ruby  (< 2.6)', which is required by gem 'nokogiri (>= 1.8.2, < 2.0)',

害的我又卸载重新装……

检查 Ruby 2.6.0 或更低版本已经安装:

1
ruby --version

Install Bundler

1
gem install bundler

接下来就可以登录Jekyll官网选择一个喜欢的主题啦,我大概浏览了一下,高质量的主题还是很多哒,这里不得不安利一下NexT这个神仙主题,强推,第一眼看到就爱上了它,话不多说,直接git clone:

1
2
git clone https://github.com/Simpleyyt/jekyll-theme-next.git
cd jekyll-theme-next

安装Jekyll所需要的依赖:

1
bundle install

在本地运行Jekyll:

1
bundle exec jekyll server

此时在『http://localhost:4000』上应该就能看到你的页面已经部署成功啦!!!

那么如何允许Jekyll被公网访问呢?答案很简单,只需要将命令改为:

1
bundle exec jekyll serve -H 0.0.0.0 -P 80

即可,其中,0.0.0.0代表允许所有入站,80代表开放端口,可自行选择,由于HTTP协议的默认开放端口为80,所以我选择继续使用80,这样可以直接访问『www.autumnqq.cn』而不是『1.12.221.106:81』(这里拿81端口举个例子)。

让我们怀着激动地心情打开浏览器,输入『www.你的域名.cn』,是不是已经可以了呢?恭喜!你也拥有了自己的网站。


2021.3.1更新

最近服务器和域名都快要到期了,所以我续费了一年的服务器,腾讯云的学生机总共可以续费2次,我已经用完全部机会,不知道明年应该怎么办,也许到那时我已经有了自己的服务器吧QAQ,而域名续费价格比首年价格高的多,所以我就重新购买了一个,这里有一个不好的地方是腾讯云同一云服务器不同域名的备案无法直接修改,也就是说,原本autumnqq.cn的备案,新域名1.12.221.106无法直接使用,而是要重新再走一遍审核流程,导致我多花了10天的时间才能正常访问(哭。

在这里记录几点换域名和服务器过程中的体会:

  1. 如果不使用HTTP协议,不需要申请证书。
  2. 一定要选一个自己喜欢的域名。
  3. 开心过好每一天。

这是我第一次在网上写教程,能力一般,水平有限,纰漏在所难免,还请各位看官多多包涵。若有任何问题,欢迎随时与我保持联系。

More Details:Setting up your GitHub Pages site locally with Jekyll