hexo博客部署于私有云服务器端
服务远程登录安装必要组件
服务器安装 Git 和 Nginx
Nginx部署便就可以通过公网ip来在异地浏览器中访问云服务器中部署的网站
Git通过此组件把本地部署的博客推送到远端云服务器中
首先,通过终端登录云服务器分别执行一下两个命令,完成Git与Nginx的安装
1 | yum update |
服务器创建Git仓库
服务器与本地的原理一样也需要创建一个Git仓库,用于部署网站,以下有四步分别为:
该路径是Git仓库的路径:
1 | mkdir /var/repo/ |
仓库权限修改权限:
1 | chown -R $USER:$USER /var/repo/ |
创建远程git仓库,这里我自己选择仓库名叫myblog(名称可随意)与本地创建Git仓库同理:
1 | cd /var/repo |
此时就可以看到刚才初始化创建的git仓库:
1 | ls /var/repo |
服务器配置Nginx
创建目录并修改目录所有权和权限:
1 | mkdir -p /var/www/hexo |
修改 Nginx 的 default 文件,让其 root 指向刚刚创建的 /var/www/hexo目录:(nginx.conf)
1 | vim /etc/nginx/sites-available/default |
修改为root /var/www/hexo
server_name 公网IP
然后重启 Nginx 服务:
1 | service nginx restart |
配置钩子文件(hooks)
执行以下命令,新建钩子文件,其中 myblog.git 文件是上文创建的git仓库:
1 | vim /var/repo/myblog.git/hooks/post-receive |
post-receive该文件是通过vim创建的一个空白文件,只需要添加以下内容,退出保存即可。
1 | #!/bin/bash |
同样该文件也需要添加可执行权限,输入以下指令即可:
1 | chmod +x /var/repo/myblog.git/hooks/post-receive |
部署本地 Hexo 到远程服务器
将服务器地址添加到受信任的站点,在本地PC的任意目录从服务器上把仓库克隆下来
1 | git clone root@{云服务器IP}:/var/repo/myblog.git |
这里需要注意一下哈,{云服务器IP}这里只需要输入自己的云服务器的外网登录IP地址。通过git把远程仓库部署到PC机(windows10)的本地。
如果自己已经在本地搭建好博客那么这一步可以直接跳过不需要执行。
因为我们最终的目的是把本地的博客部署在自己的云服务器中,以提高自己博客的访问速度。直接修改站点配置文件,通过Git推送到自己的云服务器即可。那么废话结束,最后的一步,本地推送。
本地博客远程推送
修改配置文件
修改配置文件 _config.yml,将 url 改成 https://{云服务器IP}/
将 deploy 目标改为 {服务器用户名}@{服务IP}:/var/repo/myblog.git
delploy站点配置这里可以添加多个远端仓库,具体添加的格式可以参考一下:
1 | -type:git |
本地博客推送
此时只需要在自己的博客主目录打开gitbase输入npx hexo clean &&npx hexo g && hexo d 完成推送即可