Hexo搭建(VPS)

都说 hexo 是静态的 Blog,当时不明觉厉= =。后来终于知道了什么意思......所谓的静态,其实就是由于你不能改云端,而是依赖本地数据,而后使用命令将本地数据变成 web 数据再使用浏览器进行查看......由于这玩意显然要在本地处理,因此每次本地修改以后还要上传到 git 或者是服务器因此看起来麻烦点而已 ......css

Local

Hexo 这个东西的数据所有是本地式的 QwQ,包括主题样式文章啥的都是的,因此本地很是重要,服务器云端反而不难搞了。html

Step1

安装必要工具node

sudo apt install npm
sudo apt install nodejs
npm install hexo-cli -g

Step2

安装Hexo。nginx

建立一个文件夹,名字自选,使用终端进入这个目录,接下来的操做后Hexo的相关文件将所有会在里面(O3O)。git

hexo init
npm install

而后文件夹下的东西基本上就全了,安装完成,接下来是本地基本操做。web

Step3

Hexo命令。npm

Hexo 的命令行在第一步里已经安装好了,那么接下来注视着你的文件夹内的东西,并使用命令hexo g看看。vim

你会发现多了一个 public 文件夹对不对,那就是对本地数据整合以后将会在浏览器上展现的结构,全在里面的。这时候,你再运行hexo clean试试 -- public 就消失啦!这就是清除缓存,而 g 命令能够理解为编译整合文件获得缓存。浏览器

而后就是新建文章,这里命令很简单:hexo new 文章名。而后就会生成文章名.md这样的玩意= =,那么文章在哪里呢?在你装Hexo文件的目录的source/_post下,你就会发现它,而后你就能够直接编辑了。删除?直接在编辑的那个文件夹里删掉文章就行了。缓存

Hexo的另外一个核心命令就是hexo s,它的做用就是在本地展示你的网站,使用这个命令后,在浏览器里打开localhost:4000便可看到效果。

Service

Step1

安装必要工具。

首先须要将文件传上来,这里咱们选择使用 git ,而后对于网页展现咱们使用久负盛名的 nginx。

sudo apt install nginx git-core

Step2

Hexo仓库与权限。

git 传上来须要有个仓库,那么咱们新建一个仓库,就叫 hexo.git。

mkdir hexo.git
cd hexo.git
git init --bare

而后来到/var/www文件夹下,咱们的网页就会存放在这里的某一个文件夹下,这里咱们建立一个文件夹hexo,而后赋予它操做权限,同时赋予本身权限来操做它。

mkdir hexo
chmod 0755 hexo
chown root:root -R /var/www/hexo

Step3

nginx 与 git 配置。

咱们首先注意到,当咱们将本地网页文件传上来以后,咱们可能还要到服务器端操做一番,以可以将网页文件放到/var/www/hexo下展现,这样太麻烦了。怎么办?很简单,git自带一个功能,那就是只要有文件传输它就会执行某个脚本。那么咱们怎么作呢?写个脚本就行了!

vim hexo.git/hooks/post-receive 看你的文件夹建在哪里吧

向其中输入:

!/bin/bash

GIT_REPO=~/hexo.git                      # 触发 hook
TMP_GIT_CLONE=/tmp/hexo                  # 存在 /tmp 下
PUBLIC_WWW=/var/www/hexo                 # 展现网站的目录
rm -rf ${TMP_GIT_CLONE}                  # 删除以前内容
git clone $GIT_REPO $TMP_GIT_CLONE       # 将 Git 仓库上传的内容复制到/tmp
rm -rf ${PUBLIC_WWW}/*                   # 删除展现网站的目录的所有内容
cp -rf ${TMP_GIT_CLONE}/* ${PUBLIC_WWW}  # 将/tmp全部内容复制到网站目录

保存退出便可。

而后你在浏览器里兴奋地输入你服务器的IP地址,并回车!然而并无成功= =

由于咱们还须要向 nginx 写入配置,将/var/www/hexo做为主目录。

cd /etc/nginx/sites-available
vim default

而后将内容删除,写上:

server {
        listen 80;
        listen [::]:80;

        root /var/www/hexo;
        index index.html index.htm index.nginx-debian.html;

        server_name 你的域名;#若是没有的话就别填了QwQ
    
        location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
                root /var/www/hexo;
                access_log   off;
                expires      1d;
        }
        location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
                root /var/www/hexo;
                access_log   off;
                expires      10m;
        }
        location / {
                root /var/www/hexo;
                if (-f $request_filename) {
                        rewrite ^/(.*)$  /$1 break;
                }
        }
}

而后:wq保存退出,而后使用

service nginx restart

重启nginx便可,而后你在浏览器地址栏中输入服务器IP,就会展示你/var/www/hexo目录下的网页文件内容了!

Local Update Setting

Step1

安装上传插件。

总仍是要依赖一个插件的= =

npm install hexo-deployer-git --save

Step2

安装上传插件。

在本地的 Hexo 文件存放文件夹下,有一个 _config.yml 编辑它,在底部加上:

deploy:
  type: git                      # 设置上传模块为 Git
  repo: root@服务器IP:hexo.git  # 链接到服务器
  branch: master                 # 存储在 master 分支(主分支)

Step3

上传

在 Hexo 本地文件夹下运行:

hexo clean && hexo g && hexo d

而后输入服务器密码,而后浏览器上打开网站,上传完成!

相关文章
相关标签/搜索