博客主机_nginx建立hexo和wp双博客

 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 {
}
}
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×