给 Hexo 提速是个费力的事。多么良心 GitHub 国内已阉成龟速,心疼开发者一秒。
给 Hexo 提速方案有哪些?从最省钱的说吧。
用
hexo-neat
或hexo-all-minifier
等插件压缩js/css/html/images
等文件。采用图床,例如:极简图床 、七牛、又拍云等。
CDN 加速,这个通常要收费。
国内走 Coding.net,分流加速。
VPS 直接访问自己服务器。
压缩静态文件会大大增加 hexo g
生成博客时间,假如有 VPS 把这工作交给服务器倒是不错的选择。不知阿里云的 code.aliyun.com 里自动化工具能否实现免 VPS 自动化。但这也有个问题,生成工作给了服务器,如果执行过程出错怎么办?还得有报错机制,感觉复杂了。
图床为图片加速是不错的选择,我就用七牛的加速,只需在图片前加个前缀,就能实现 CDN,赞一个!
CDN 加速,似乎腾迅云有活动,半年免费。但毕竟收费的服务,而且不知 CDN 缓存问题是否已解决。
Coding.net 是会员才能自定义域名?不考虑了。
对,本文重点是有 VPS 的同学,自己动手丰衣足食。这个方案还一举解决了 GitHub Pages
不被百度收录的问题,爬虫被拒了。在国内用百度的人还是很可观的哇。
简单讲下思路吧,毕竟很多前辈们已讲的够清楚了。
在 VPS 上建
bare
类型 Git 仓库,用作 Hexo 提交的一个远程 Repo。例如:/var/repo/zwb.io.git
给自己网站建个文件夹。例如:
/var/www/zwb.io
修改
Nginx
配Server
指向网站目录。配 git 钩子
post-receive
,本地push
上来后,同步到网站目录/var/www/zwb.io
新建个 git 用户,把 Repo 与网站目录都给其权限,同时给
post-receive
可执行权限。配置 VPS ssh 与本地 ssh 通信。
本地
_config
里deploy
添加自己 VPS repo 地址。域名解析,指向 VPS IP。
把用到的命令,简单的写下吧
mkdir /var/repo git init --bare /var/repo/zwb.io.git mkdir /var/www/ mkdir /var/www/zwb.io whereis nginx vim nginx.conf
server { listen 80 default_server; server_name zwb.io wenboz.com; root /var/www/zwb.io; }
vim /var/repo/zwb.io.git/hooks/post-receive
#!/bin/shgit --work-tree=/var/www/zwb.io --git-dir=/var/repo/zwb.io.git checkout -f
chmod +x /var/repo/zwb.io.git/hooks/post-receive
创建 git user,并赋权限
useradd -d /home/git -m git sudo chown git:git /var/www/zwb.io sudo chown git:git /var/repo/zwb.io.git
配置 ssh-key
ssh-keygen -t rsa -f ~/.ssh/id_rsa_vps -C "yourmail@xxx.com"cat ~/.ssh/id_rsa_vps.pub vim ~/.ssh/config
# twoHost test.com HostName yourIp User git IdentityFile ~/.ssh/id_rsa_vps
# 本地 cat ~/.ssh/id_rsa_vps.pub 复制到VPS ~/.ssh/authorized_keysvim /etc/ssh/sshd_config
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PermitRootLogin yes # 允许 root 用户 SSH 登陆PasswordAuthentication no # 禁用密码登陆
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys# 重启服务service sshd restart
编辑
_config
最后,改下域名指向,完成
转载于:https://blog.51cto.com/13911915/2156582