源起

个人网站,或者叫个人博客,似乎是每个程序员都要有的酷酷的东西(

大三的时候,我报名了一个比赛,为了完成我的组内分工任务,我拥有了自己的一台云服务器,当然,是学生云。

寒假是比赛的准备时间,说是准备时间,其实也没什么好准备的,我领到的任务就一句话:在云服务器上部署算法,并实现简单交互。

就这样,我买了我的腾讯学生云服务器。

本来我真没想别的东西,但是搜服务器使用教程的时候,总是能看见“使用服务器建站”之类的字眼。。。

建站?嗯,以普遍理性而言,确实是服务器的好用处。

比赛?什么比赛?

由于这个站在未来可预见的时间内都不会有太多人会访问,所以我的文章主要是留给自己看的,基本是自嗨,十分啰里啰唆。

开始

今天建一个个人网站应该是非常简单的事情,只要善于使用搜索工具,掌握一些基本的编程知识(甚至都可以不需要),那么每个人都可以拥有自己的站点,自己的一方小天地。

这里介绍一下我使用的建站教程教你如何从零开始搭建一个属于自己的网站,这位博主非常可爱,如果大家不认识他,不知道大家记不记得便携小空调?没错,就是他做的!

云游的教程非常细致,但是像他所说的,不免有从盘古开天辟地开始讲的感觉,所以在此我去芜存菁(自我感觉hh),保留了对我来说简练精干的部分。

hexo

我已经有了GitHub账号,所以可以跳过云游教程的一长串内容,直接开始hexo!

安装hexo

打开Windows powershell(之所以使用它是因为它的语法和Linux相仿,我比较熟悉),输入npm install hexo-cli -g

install 自然是安装。

hexo-cli 则是 hexo 的终端工具,可以帮助你生成一些模版文件,之后再用到。

-g 代表的是全局安装。也就是在任何地方都可以使用,否则会只能在安装的目录下使用。

–摘自云游博客

建立网页文件

进入用来放置网页文件的文件夹,右键,Git Bash Here

在git终端输入hexo init 之前建好的仓库名,在我这里即

hexo init ireinasan.github.io

好,经典连不上GitHub
重试

上一步完成,继续。

cd ireinasan.github.io

npm install

hexo s

最后一个命令打开了本地的网页服务器,此时在浏览器地址栏中输入localhost:4000便可查看本地博客。

localhost:4000

使用hexo主题

hexo的默认主题非常丑,所以我们要换一个漂亮的主体!下面学习如何使用别人开发的hexo主题。

依然是薅云游的羊毛以云游的教程为例。

下载hexo主题

在配置hexo主题时,我们可以使用宇宙第一IDE——

正是在下

(主要是为了方便修改配置文件)

在使用hexo初始化好的ireinasan.github.io文件夹中git clone https://github.com/YunYouJun/hexo-theme-yun themes/yun.

编辑hexo配置

仍然是在这个文件夹中,右击使用vscode打开,找到_config.yml文件并打开。

找到theme,将冒号右侧的landscape改成yun

由于我的主题使用了 pug 和 stylus,而 Hexo 自带的一般是 ejs 与 stylus,所以你可能还需要输入以下命令安装渲染器。

npm install hexo-render-pug hexo-renderer-stylus
#如果出问题,可以换 yarn 安装试试。

完成上一步以后,再次hexo s,并在localhost:4000中查看效果。如果一切顺利,我们就已经用上了云游的主题。

自定义主题配置

。。。

云游教程里随意带过的一段文字,却是我建站到现在花费时间最长的内容。这里直接放上云游的主题文档吧:云游主题帮助文档

简单说几个要点:

  • 在博客文件夹(也就是我的ireinasan.github.io文件夹)底下建立一个source/_data/yun.yml文件,然后在这个yml文件中自定义自己的配置,不要动别的配置,以方便后续升级主题。

  • 进入帮助文档以后随便扫一扫使用指南中的内容,帮助不是很大,重点都在第二个大标题主题配置中。

  • 页面配置中也有一些可看的东西,比如点击头像的about页面等(这个地方一度让我感到非常困扰)。

GitHub

新建仓库

右上角+->New repository新建仓库

新建仓库

仓库名称格式为:

用户名.github.io

Create repository.

生成静态文件

在博客文件夹下:

hexo clean #清除缓存
hexo g #generate简写为g

此时文件夹目录下出现一个public目录,里边就是我的站点的静态文件。

与远程仓库建立关联

git init
git checkout -b hexo #创建一个分支

部署

hexo有三种部署方法,云游详细介绍的、以及我采用的是一键部署

安装hexo-deployer-git插件

npm install hexo-deployer-git

ireinasan.github.io/_config.yml中配置:

deploy:
  type: git
  repo: git@github.com:Ireinasan/ireinasan.github.io.git 
  # 自己的仓库地址,由于上一条type是git类型,所以此处填写的是SSH的地址
  
  branch: master # 默认使用 master 分支
  message: Update Hexo Static Content # 你可以自定义此次部署更新的说明

然后在地址栏输入ireinasan.github.io/就可以看到我的网站啦!

一键部署会将生成静态文件步骤中产生的public文件夹中的内容(即网页静态文件)推送到我们的GitHub仓库中,而不是我们的网站源代码。因此,如果有需要,应再建一个专门存储代码的仓库。

绑定个人域名

这里云游的教程比较简略,我又搜了一些补充内容。

  • 在腾讯云的控制台为域名添加解析

建立解析.png

IPv4地址为ping出的ireinasan.github.io服务器IP

  • 在GitHub的ireinasan.github.io仓库,Settings-Pages-Custom domain中填入域名sagirichan.comSave

这一步要等一会,因为域名解析需要时间。

完成后,仓库中会自动生成一个CNAME文件,文件里边就是我们要绑定的域名sairichan.com

如果觉得有必要,也可以在本地文件夹中ireinasan.github.io\source路径下建一个同样的CNAME文件。

如果按照我的步骤出了什么问题还是自行百度⑧,每个人的问题都不一样

网站备案

绑定域名后,我使用的仍然是GitHub的服务器,而由于GitHub在国内访问不是很稳定,所以连带着我的网站访问也不是很稳定。于是我决定尝试把我的网站部署到自己的服务器上。

然鹅,原本以为万事俱备,只欠东风的网站备案,居然真的就像诸葛亮借东风那样麻烦2333

我不保证这一部分能写下去

由于我是在腾讯云上买的域名,所以我就直接在腾讯云上进行网站备案。

搜索网站备案、进入备案主页、阅读注意事项其实并没有,开始备案。

验证备案类型

由于我是首次备案,所以我来到了首次备案页面(废话文学),草草扫描了一下注意事项,下一步:验证备案类型

填写主办单位信息备案省份(划重点,要考)、主办单位性质,由于我的主办单位性质是个人,所以我接下来要上传身份证的正反两面。

愣着干嘛,拍照片啊

填入我购买的域名、我购买的云服务器的公网IP。

立即验证!

网站弹出了一个严重警告温馨提示!

温馨提示

网站提示我们,要再次核对备案省份、主办单位信息。

如果你觉得自己填写的信息没有问题,进入下一步。

备案小程序

在上一步的温馨提示中,点击下一步,会弹出一个警告书,不用多看,继续下一步,在备案小程序中进行网站负责人身份验证。

小程序截图

继续拍照。。。

在第三步,上传视频核身中,小程序会获取你的地理位置,你的地理位置需要与上一步 验证备案类型 中填写的备案省份相符。

在我的第一次尝试中,就由于我人在江苏而备案主体省份填写了湖南,导致信息不符,无法采集视频核身,而警告有告诉我们,备案省份无法更改,所以。。。我只能放弃本次备案,重新开始。

呜,苦露西

好,我放弃了本次备案,重新开始了我的备案之路,并且在第二次备案中顺利地完成了备案小程序的视频身份核验,进入下一步,主体信息。

主体信息

主体信息第一条就是江苏,果然是无法更改的。

主体信息

填写个人信息ing…

通信地址原来也是根据身份证地址定好的,没法改成我的大学地址。。。

验证手机号,填写邮箱。下一步,网站信息

网站信息

填写网站名称,取一个好听或自己喜欢的名称。

我的网站名称来源于我很喜欢的一部小说《宰执天下》是主角穿越后第一炮的章节名

云资源,我购买的服务器类型及公网IP。

域名,我购买的域名。

备注,随便写一写。

网站负责人信息,在上一步主体信息中已经填过了,这里可以不用再麻烦一遍。

备案信息填写完成在望,我已经开始开香槟了。

网站补充材料,网站备案信息真实性责任告知书、网站备案信息真实性承诺书、网站负责人承诺视频,简单!

网站备案信息真实性责任告知书下载链接————下载————上传。

emmm,怎么只能上传图片格式的?百度一下。

哦,源赖氏,要把这份PDF文件打印出来,亲笔签字,然后再拍照片or扫描,再传上去,网站备案信息真实性承诺书也一样。

可我家里没有打印机啊。。。这大半夜的,外边打印店都关门了。

好吧,只能等第二天了。

还是看看第三个吧,网站负责人承诺视频,点开,又是扫码进入小程序,行吧。

面对屏幕读文字,上传。

返回网页端,我留了个心眼,看了一下我的视频效果。。。果然又有问题了。

我真是个铸币,我在备案的时候,公主连结正在打公会战,我把模拟器开着放后台,同时备案。结果上传承诺视频的时候,模拟器的声音没关,被录进去了,视频里全是会战界面的BGM,根本听不清说话,这要传上去那审核铁定不通过。

没办法,关了模拟器声音,重录吧,这次行了。

保存备案草稿,上床睡觉,明天最后练一次科目三,后天要考试了。


第二天————

练科目三累死了,早上六点半就起床,中午午饭也是在外边解决的。

回家到小区门口,找了个打印店,打印了两份补充材料,借了打印店的笔填好,拍照,传给电脑。回家,打开电脑,上传照片,完成!保存当前网站!

域名 sagirichan.com 实名认证时间为 2022-01-23 00:09:44 ,距离现在未满 72 小时,无法备案,请您在 2022-01-26 00:09:44 之后再进行备案

tnnd


ただいま~

科目三考完了,通过力~我的网站也可以继续备案了。登录腾讯云,网站备案——保存当前网站—— 上传补充材料,由于我没有要补充的材料,所以跳过这一步 ——提交审核!

静等审核通知!


腾讯初审把我驳回了,主要三个问题,一个是我身份证拍的照片背景不一样(实际上只是相机白平衡出了问题,手机背大锅);第二个是域名没有备案不许访问,所以我之前私自给GitHub Page绑定了个人域名,要删除解析记录(悲);第三个是网站负责人承诺视频,我没有手持承诺书,我说啊,拍视频的时候又没有提示我要手持承诺书,现在以这个理由驳回来了,这不是搞我心态吗?

总之吧,我按照要求一一解决了,希望第二次申请能给我通过。


腾讯初审速度很快,一个多小时就好了;提交工信部终审也很快,嘿嘿,成功在望!


2022.2.22,今天普京把军队开进了乌克兰东部的两个州,工信部把我的网站sagirichan.com审核通过了。而此时距离我提交申请已经过去了将近一个月😭

不管怎么说,我的网站备案是下来了,总算可以部署到我自己的服务器上啦。

部署到自己的服务器上

这个坑太大了,见我的另一篇文章:

如何把博客部署在云服务器上?