logo头像

黑客的本质就是白嫖

博客2.0上线

本文于 841 天之前发表,文中内容可能已经过时。

在长达数星期的努力下,终于把博客从原来GitHub迁移到了自己的vps上
oumeidaitou oumeidaitou

0x01 简介

最开始的时候,是用wordpress一键搭的,后来感觉大家都在用,b格不够高,然后看到了土土大佬的博客,发现他用的是hexo的框架,感觉挺好看的,于是决定换成hexo的。

但是直到最近才开始做,一开始也是搭在了GitHub上,然后自己其实并不经常使用GitHub,而且托管在上面每次都要在本地编辑好文章然后命令行推过去,就感觉很麻烦,于是就有了现在的这个博客。

现在我是把整个博客都放在了vps上,nginx反向代理,然后用一个插件叫hexo-admin作为后台管理界面,这样就可以完全不用接触命令行,只要有个浏览器并且熟悉markdown语法就能发布文章了。

0x02 环境安装

nodejs安装

首先要在vps上搭好环境,nodejs安装这里就不展开来说了,网上教程也挺多的

nginx安装

这个和nodejs一样教程网上教程都很多

Git安装

同上

hexo安装

直接用npm命令就好了,这里放上官网的文档,按照里面说的一步一步来就好了。

主题呢我用的是一个叫gal的,这里给出GitHub的链接,安装与配置按照里面的教程来就好了,如果配置过程中遇到了什么问题记得看一下issues,我是现在才知道这东西的用处有多大,基本上会碰到的问题那里都会有人问。

搭建过程

新建hexo文件夹

mkdir blog & cd blog
hexo init
npm install

这样就新建出了一个hexo的文件夹,里面有hexo的基本信息,这时候可以试一下

hexo g //渲染静态页面 
hexo s //本地运行

然后就能访问http://localhost:4000/ 来看一下效果,我因为当时没截图,这里就不放图了。
一般到这里应该没有什么问题

选择主题

这个因人而异,不同的主题配置方法虽然应该会有差别但总的差别估计不会太大
我这个主题的配置方法在GitHub上也有这里就不说了,奥有个问题,我这个主题,在配置的时候,hexo根目录下的_config.yml文件,里面的description和author一定要记得写上,我当时没写description报错,搞了好久才在GitHub的issues上找到原因。

nginx的配置

我看网上很多教程都是新建一个文件夹然后在nginx根目录下的nginx.conf里面include那个目录,虽然这样更好一点,但是我直接在conf.d文件夹里配置的,反正那里面也是空的┑( ̄Д  ̄)┍
一般配置的代码是这样的

 server {
    listen 80;
    listen [::]:80;
    root  //网站根目录;
    index index.html index.htm index.nginx-debian.html;
    server_name //域名,这里我直接写的IP地址,刚买完dota2本子,没钱买域名了(ノへ ̄、);
    location / {
            try_files $uri $uri/ =404;
    }
}

这里又有个问题,hexo根目录下的

url: /  
root: /  
permalink: :year/:month/:day/:title/  
permalink_defaults:

这段配置这里,我当初因为在root那里写了自己博客的目录名,导致js加载不出来,具体原因不知道,要问为什么我要去写这个,是因为本来打算弄两个博客,分别在两个目录下的,现在由于不明原因只要写一个就好了。

hexo-admin的安装配置

说起这个我真是头大,安装教程就放个链接吧,同样是GitHub上面的
一开始安装的时候,我以为这东西装上,挂在vps上就能直接访问后台页面,之后才知道hexo居然时候静态框架(╯‵□′)╯︵┻━┻,反正就因为你在执行hexo g的时候,他会把你的各种东西生成一个静态页面放在public文件夹里,实际上你访问的就只是那个文件夹。

这让我一度打算放弃这个插件,直接部署到vps上算了。

不过天无绝人之路,在不断寻找之下我找到了一个办法,就是通过nginx的反向代理,因为当你hexo s的时候,是能在本地 http://localhost:4000/ 访问后台界面的,所以就后台运行hexo s,然后nginx把对本机的访问转到 http://localhost:4000/ 上,但是这样访问速度又会慢下来,幸好hexo应该是考虑到了这个问题

静态模式
在静态模式下,服务器只处理 public 文件夹内的文件,而不会处理文件变动,在执行时,您应该先自行执行 hexo generate,此模式通常用于生产环境(production mode)下。

$ hexo server -s

这里官方文档里面的说法,大概就是用这个模式访问的话速度和访问静态页面差不多,也能进后台管理页面,简直破费( ̄︶ ̄)↗ 

至于具体的各步骤教程,大多都能从网上找到,这里贴一下最后hexo-admin部署的教程

评论系统未开启,无法评论!