在VPS上搭建自己的hexo博客-for dummies(like me)
记录一下。已過時。
预备
本地
安装 Sublime 用来编辑各种文件,安装 hexo 所需的各种工具。
https://hexo.io/zh-cn/docs/index.html
VPS端
使用 root 账户登录自己的VPS,如果默认的root账户的密码比较繁琐,那就暂时先用繁琐的密码登录一下,然后在VPS的终端输入命令
1 | passwd |
来将root账户的密码修改成自己想要的。
安装hexo
hexo是由台湾人开发的静态博客框架,有中文文档,官网步骤已经很详细了。
https://hexo.io/zh-cn/docs/index.html
Node.js
1 | apt-get install -y build-essential |
此段需要修改(20190903)
然后关闭并重新打开终端。
1 | nvm install stable |
Hexo
所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。
1 | npm install -g hexo-cli |
如果出现 permission denied 报错,可以试试
1 | npm config set user 0 |
可选(一):配置Apache
该部分为 Apache 的一些基础配置介绍,有相关经验者可以直接跳过
安装Apache
在Ubuntu服务器下Apache的安装非常简单,只需要一行代码就可以解决:
1 | apt-get install apache2 |
Apache配置文件设置
首先我们在 /etc/apache2/sites-available 中新建一个文件 hexo.conf (这个名字可以按自己意愿随便命名),命令如下:
1 | vim /etc/apache2/sites-available/hexo.conf |
接下来我们对 hexo
文件进行设置,
1 | <VirtualHost *:8080> |
然后
1 | ln -s /etc/apache2/sites-available/hexo.conf /etc/apache2/sites-enabled/ |
最后,重启Apache上述配置就可以使用了:
1 | service apache2 restart |
可选(二):配置 nginx
使用lnmp(待补充)
小提示
在使用vi命令编辑内容时,用先ESC再:w来保存并用:q来退出或对于已有文件使用:q!保存并按确认退出;在使用nano来编辑内容时,使用Ctrl+o来保存,使用Ctrl+x来退出,或直接使用Ctrl+x并按Y确认来保存并退出。
如果需要数学公式正常显示,需要更改转义
1 | 将node_modules/marked/lib/marked.js里面的 |
使用 Dropbox 同步发布
预备
Dropbox 新政策,Ubuntu 系统下,文件格式需为 EXT4 才可以自动同步。
参考 https://help.ubuntu.com/community/ConvertFilesystemToExt4
安装 Dropbox
1 | cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf - |
然后
1 | ~/.dropbox-dist/dropboxd |
下载官方提供的 cli 来控制和管理Dropbox
1 | wget https://linux.dropbox.com/packages/dropbox.py |
更改权限:
1 | chmod +x ./dropbox.py |
启动Dropbox:
1 | ./dropbox.py start i--install y |
关闭局域网广播:
1 | ./dropbox.py lansync n |
排除不需要同步的文件夹
1 | ./dropbox.py exclude add ~/Dropbox/经济学与数学 |
赋予权限
1 | chmod -R 755 /root/Dropbox/hexo/public |
你的网站可能对应的不是 www:www 用户组,有可能是 www-data:www-data 具体可使用 cat /etc/passwd 查看。
自动运行 Dropbox
参考 https://help.ubuntu.com/community/Dropbox 并将其中user部分修改。
自动生成并发布
监听文章
借助 inotify 来实现监听 _posts 目录下的 markdown 文件变化,重新生成静态网站文件。
1 | $ sudo apt install inotify-tools |
touch一个 inotify.sh,我放在了 hexo 目录下。内容为
1 | #! /bin/bash |
然后赋予执行权限
1 | chmod +x /root/Dropbox/hexo/inotify.sh |
开机启动
借助 systemd 来管理 监听脚本 inotify.sh 。
创建服务的配置文件:/lib/systemd/system/hexo.service
1 | [Unit] |
开启服务
1 | sudo systemctl start hexo |
设置开机启动
1 | sudo systemctl enable hexo |
- 標題: 在VPS上搭建自己的hexo博客-for dummies(like me)
- 作者: (Brandon) Song Li
- 撰寫于 : 2017-08-24 02:47:20
- 更新于 : 2021-10-27 09:19:26
- 連結: https://brandonsli.com/p/d3a8a9d2.html
- 版權宣告: 保留所有權利 © (Brandon) Song Li