前言

  其实去年9月份的时候就想买一台服务器来玩了,因为那个时候担心github没有办法完成SEO,想通过购买服务器来解决问题。
  后来发现根本不需要服务器也可以完成百度的收录,所以购买服务器的计划一直搁置了。
  直到今年5月份的时候,考虑到要制作带后台的app,那没有服务器是麻烦的,尽管网上搜索也有一些云服务提供了SDK和一定限量的服务,完全可以满足个人开发。
  不过我还是觉得自己弄台服务器来玩耍比较好,因此就把钱给花出去了。
  然后顺便也把域名给弄好了,现在我有了自己的域名 l0v0.com ,很难得有四个字母的短域名是没有被注册的了,而且这个颜文字还是挺有意思的,短小精悍又好记。
  其实当时也没有立刻就购买服务器,而是试用了一个7天免费的服务器,最后决定购买腾讯云的学生套餐了。
  再后来花了100多买了一年最便宜的服务器,顺便也把这个域名给注册备案了。
  原以为弄服务器是很麻烦的事情,毕竟都是命令行操作,幸亏自己还是在B站查了一下教程,然后发现有个宝塔的神器,可以快速配置好服务器环境。

服务器配置

  维护服务器其实有专门的岗位,叫做运维。需要熟练操作 Linux 系统,会写一些脚本完成批处理操作才行。
  我这个渣滓还没有时间去研究这方面的东西,大四要来了一大堆事情等着我来弄呢。
  我之前工作室的师兄也是弄后台的,他当时有给我玩过宝塔,但是我还不直到原来是国内的人做的一个 PHP后台。
  当时只是觉得好方便,一切都图形化了,连数据库都有 phpmyadmin 可视化管理。
  后面因为自己配置服务器太累了,虽然腾讯云有教程,但是比较生涩,操作起来很懵圈。
  于是去B站搜了配置教程,然后我就发现了新大陆,没想到师兄之前用的就是宝塔。
  宝塔面板的使用真的是非常非常简单,可以去官网一探究竟。
  安装宝塔面板只需要一行代码即可。

宝塔安装

  非常简洁,安装过程类似 node.js 的 npm 和 python 的 pip
  安装完之后就可以到服务器的 8888 端口登录宝塔界面了。
  初次进入宝塔界面就会提示安装服务器需要的运行环境了 可以选择 LAMP/LNMP 两种不同的服务器环境,主要是 Nginx 和 Apache 服务器上的区别
  选择好了之后,后续的操作也是自动完成,不过因为服务器是最低配置的,所以安装过程需要半个小时左右。
  配置完成之后就可以愉快玩耍了。

Hexo 博客部署

  Hexo 博客部署到自己的服务器上其实网上是有教程的 网址
  我基本就是按照这篇文章去操作的,然而却遇到一个天坑,坑了我半天才解决问题。
  服务器等环境都通过宝塔面板处理好了,因此只需要配置好git的环境进行上传就可以了。
  这个过程有非常重要的步骤就是需要配置 ssh rsa 验证,从而实现无需密码 push 到服务器上
  这些操作之前也在github的时候配置过,现在却出现了很奇葩的问题。
  我按照教程的指引,通过 ssh-keygen 生成了 私人秘钥 和 公开密钥。
  随后我用宝塔面板的文件管理器创建了authorized_keys文件,并且将公开密钥的内容填写了进去。
  然后我却依然无法实现免密登录。
  于是在网上搜索了大量的资料,涉及到权限问题,也有ssh的配置问题。
  其实上述的文章也提到了权限的问题,已经设置为了 600 和 700 权限,确保是可以读取的了。
  ssh配置也确实是个问题,后面我找到了这篇文章解决了问题。
  然而进行了一大通的操作之后,我还是无法实现免密登录。
  于是我就佛了,继续在并bing上搜索外国人的资料,也没有任何收获。
  后面我尝试在其他的用户上试试能否实现免密登录,然后奇怪的事情发生了,我发现我可以在root账户下实现免密登录但是其他账户却不可以。
  然后我又创建了一个新的test账户,尝试免密登录,结果失败告终。
  于是又在网上搜索了一大通资料,只有root账户可以ssh免密登录,然后也没有任何结果。
  于是我真的佛了,放弃了。
  我打算先把hexo配置好,试试水吧,麻烦一点没关系,就是 deploy 的时候输入一下密码而已,没什么大不了的。
  于是又开始折腾hexo的配置,最后hexo配置完成了,但是 hexo d 报错,没有访问权限。
  所以hexo是不支持密码登录的,只能用免密登录(:з」∠)
  然后我就几乎放弃了,只是做无谓的挣扎测试一下 git clone 的情况。
  每一次都是需要输入密码的。
  后面我在对 root 账户进行测试,我直接将其他账户下的 authorized_keys 文件覆盖了 root 账户下的文件。
  然后神奇的事情发生了,root账户的免密登录也失效了,我真的是哭死的心都有了。
  就好像拆了一个玩具装不回去的感觉,难受的一批啊~~
  我又把root账户下的 authorized_keys 文件内容替换了其他的 rsa 验证,依然不行。
  后面我打开宝塔面板的权限,看到文件的所属账户并不是 root 账户的。

宝塔安装

  抱着试一试的心态,我将的用户所属改为了 root ,然后免密登录测试,通过了!!!
  于是我到git目录下也将这个文件的所属改为 git ,然后就可以免密登录,解决问题。
  归根到底,教程是通过 vim 在当前用户下处理文件的,而我是通过宝塔生成这个文件,因此宝塔下生成的问题就得用户所属不对应,导致坑了半天(:з」∠)

总结

  功夫不负有心人,我总算是将博客部署到了自己的服务器上,大家可以参考 博客
  后续暑假的任务实在是太多,太沉重了,希望自己能够规划好时间,好好学习吧。(明天考马克思,老天保佑我逢考必过。)