建站记录
2024-12-12 14:15:02 # Web

早有建站想法,最近趁着中秋,实现了这个想法。
一开始看别人博客教程的时候,对建站的过程不明就里。现在初步搭好了,我来回顾一下。


思路

架设自己的个人网站的思路其实非常简单,从下往上的步骤大概是这样:

  • 自己先用markdown写好博客的内容;
  • 再使用一个框架帮你自动实现网站的架构(像主题,背景,导航栏,特效等等),这个框架负责把你写的内容呈现出来(到这时自己已经可以在本地预览到自己网站的样子了);
  • 网站成型后,考虑的是怎么让别人通过网络来访问你的网站了,其中一个方法是使用Github的Pages功能来托管,即把网页文件上传到Github仓库里,别人就可以访问仓库网址看到你的网站了;
  • 进阶一点的就是架设一个服务器,使用一个好看的域名来登录的网站,就可以摆脱Github来发布,毕竟经常又慢又打不开。

框架

框架我所知的有hexo,WordPress,hugo。
hexo和WordPress的教程在csdn都非常多,当时不用hugo是因为找不到一个好看的主题。

Github托管

使用Github的pages功能非常方便,只要上传自己博客网页相关的文件,访问用户名.github.io的网站就可以看到了。

服务器

我用的是阿里云的ECS云服务器,有3个月的免费试用;加上7块钱买了一个域名,解析到我的服务器ip。免费服务器是个坑,后面说。
大致步骤是:

  • 买域名和服务器,在服务器上配置ssh,设置git的钩子,让一键部署的文件可以传到服务器上面。
  • 然后下载Ngnix和宝塔,在宝塔面板配置域名,设置网站根目录等。
  • 再就是在阿里云那配个ssl,搞个https,安全一点。
  • 最后就是icp备案,这个要准备些材料,像朗诵视频,身份证,自拍,纸质承诺书照片等。

踩坑记录

踩了n个坑,耽搁了很久:

  • 域名解析:一开始我是将域名解析到Github Pages那里,但是无论如何也登不上。方法是,先去实名认证。
  • hexo的git自动部署功能:_config.yml文件里的deploy那里的repo最好直接用ssh的地址,而非用域名;原因是当你域名没解析好,端口没打开或者设置错了的时候,也能保证传的上去。
  • 安全组:使用宝塔面板的端口一般是8080,但我的恰好不是,而且安全组里添加了相应端口也没用。原因是安全组要和相应实例关联,意思是我开的服务器,得刷新一下,从实例那里进去打开安全组,编辑即可。
  • 部署好了访问服务器ip却404:这是宝塔的设置出现问题,配置文件里,listen 80后面要加上default_server,要不然访问时不会自动进这个端口,导致404。这个修改很多教程没框出来,我是靠运气看到的,害。
  • 阿里云大陆的服务器icp备案:域名死也解析不到我的服务器ip,是没有icp备案的原因。但是我3个月免费试用的服务器不支持icp备案,得买一个。
  • 不知道为啥icp备案前,添加ssl后网站打不开。