hexo结合github pages本来是绝佳组合,免费安全高效,无奈github国内访问太慢。同类的coding的pages自定义域名坑太多,大概率失败.gitee自定义域名直接收费月99,果然比抢更好(99可以买腾讯低配置云主机1年了。)。所以说了半天国内如果坚持自定义域名且少花钱,那么就是都不行。必须借助github,那么就只有github+cdn加速。但国外cdn大多数一样慢,国内使用cdn,则网站必须备案,github备案也过不了。所以此路不通。github+亚马逊CDN(可能名字不叫这个)可能可以,据说还行。但是可能收费。
所以那么麻烦干么,干脆自己建了,不用github类似Pages服务,hexo生成的是静态页面,nginx轻松搞定。
重点在nginx配置
hexo博客系统搭建(hexo+nginx)(不是借助github(coding,gitee) pages服务),自己找找,推荐如下两篇:
https://segmentfault.com/a/1190000009723457
https://www.jianshu.com/p/069b8ad1d1e8
1 2 3 4 5 6 7 8
| 这里需要留意的是 1,建立git服务器后,还需建立钩子 hooks/post-receive 钩子里面的命令: git --work-tree=/home/john/my_hexo/hexo --git-dir=/home/john/my_hexo/hexo.git checkout -f 2,钩子相关联的文件夹(/home/john/my_hexo/hexo,/home/john/my_hexo/hexo.git), 都必须执行:chown -R git:git hexo.git(实际git用户执行钩子中命令) 另外可以自行验证下:su git 后执行钩子里命令,是否可以将/home/john/my_hexo/hexo.git内容=》/home/john/my_hexo/hexo,其中/home/john/my_hexo/hexo就是nginx的配置地址(这个过程并非完全copy,否则nginx指向.git文件夹就行了,用不着钩子))
|
wordpress就不说了,建议使用docker,否则要安装lamp一堆东西。
正式工作2步
1,修改wordpress默认端口为81(自己选择)
2,nginx接管80端口,转发wordpress的请求到81.那些请求属于wordpress?我时通过域名区分的(server_name体现)
上配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| server { listen 80 default_server; server_name hexo.xyz.cn;#所有访问这个域名的都会由此server处理 root /home/john/my_blog/hexo;# 处理方式就是把这里的文件展示出去
include /etc/nginx/default.d/*.conf;
location / { }
error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { } }
server { listen 80 ; server_name blog.xyz.cn;#所有访问这个域名的都会由此server处理
include /etc/nginx/default.d/*.conf;
location / { proxy_pass http://127.0.0.1:81;# 处理的方式就是告诉客户从本机(服务器)的81端口取东西,如果你选其他端口,配置成你选的就行了 proxy_set_header Host $host;# 把上面的127.0.0.1改为本机(服务器)外部ip,否则浏览器从自己本地(客户浏览器电脑)的81取东西,自然啥都没有 }
error_page 404 /404.html; location = /40x.html { }
error_page 500 502 503 504 /50x.html; location = /50x.html { } }
|