本地Hexo部分
安装Node.js
- Windows直接下载安装最新版
- Ubuntu16.04安装最新版Nodejs :
https://github.com/nodesource/distributions#rpm1
2curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
安装Git
下载安装最新版
安装Hexo
sudo npm install -g hexo
生成本地静态网站
- 进入要创建网页文件夹
hexo init
- 更换主题
cd themes
git clone 需要下载的主题地址
- 配置主题
具体见主题
VPS部分
安装配置Git
创建git用户
1 | adduser git |
添加root权限
1 | chmod 740 /etc/sudoers |
找到以下内容
1 | ## Allow root to run any commands anywhere |
在下面添加一行git ALL=(ALL) ALL
保存退出后改回权限chmod 400 /etc/sudoers
设置Git用户的密码
sudo passwd git
设置Git免密登录
切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限
1 | su git |
执行ssh 测试一下ssh -v git@SERVER_IP
安装Nginx:
- 在线安装:apt-get install nginx
- 源码编译安装:可以安装最新版
nginx -t
nginx配置
自动化部署
建立git裸库
裸仓库就是只保存git信息的Repository
1 | su git |
使用Git Hooks同步网页
配置Git Hooks
使用 post-receive钩子,当git有收发的时候就会调用此钩子
在裸库的 hooks文件夹中,新建post-receive文件vim ~/blog.git/hooks/post-receive
1 | !/bin/sh |
保存后,赋予可执行权限chmod +x post-receive
配置_config.yml
打开 _config.yml, 找到 deploy
1 | deploy: |
测试
hexo g -d
https配置
在Nginx配置文件中添加或修改:
1 | listen 443 ssl default_server; |
问题:
按照官方配置后local_search无法使用:
文章含有特殊字符
打开开发者工具,转到网络模块
直接访问search.xml,解析错误,
查看返回包(response),找到文件中特殊字符的所在位置
git 换行符LF与CRLF转换问题
1 | Git设置 |