Try your best

博客部署于私有云服务器端

字数统计: 837阅读时长: 3 min
2022/12/24

hexo博客部署于私有云服务器端

服务远程登录安装必要组件

服务器安装 Git 和 Nginx

Nginx部署便就可以通过公网ip来在异地浏览器中访问云服务器中部署的网站

Git通过此组件把本地部署的博客推送到远端云服务器中

首先,通过终端登录云服务器分别执行一下两个命令,完成Git与Nginx的安装

1
2
yum update
yum install git nginx -y

服务器创建Git仓库

服务器与本地的原理一样也需要创建一个Git仓库,用于部署网站,以下有四步分别为:

该路径是Git仓库的路径:

1
mkdir /var/repo/

仓库权限修改权限:

1
2
chown -R $USER:$USER /var/repo/
chmod -R 755 /var/repo/

创建远程git仓库,这里我自己选择仓库名叫myblog(名称可随意)与本地创建Git仓库同理:

1
2
cd /var/repo
git init --bare myblog.git

此时就可以看到刚才初始化创建的git仓库:

1
ls /var/repo

服务器配置Nginx

创建目录并修改目录所有权和权限:

1
2
3
mkdir -p /var/www/hexo
chown -R $USER:$USER /var/www/hexo
chmod -R 755 /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
2
#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/myblog.git checkout -f

同样该文件也需要添加可执行权限,输入以下指令即可:

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
2
3
4
-type:git  
-repo:
{远端推送仓库地址}
-branch:{远端仓库分支}

本地博客推送

此时只需要在自己的博客主目录打开gitbase输入npx hexo clean &&npx hexo g && hexo d 完成推送即可

CATALOG
  1. 1. hexo博客部署于私有云服务器端
    1. 1.1. 服务远程登录安装必要组件
    2. 1.2. 服务器创建Git仓库
    3. 1.3. 服务器配置Nginx
    4. 1.4. 配置钩子文件(hooks)
    5. 1.5. 部署本地 Hexo 到远程服务器
    6. 1.6. 本地博客远程推送
    7. 1.7. 本地博客推送