hexo 部属到远程服务器

hexo g 命令后得到的 public 文件夹即为静态博客的根目录,使用 git 的 hook 功能来把本地仓库推送到远程仓库

🔑允许远程 ssh 登陆 root

  • 更改 ssh 配置
sudo vim /etc/ssh/sshd_config
  • 改写其中 PermitRootLogin 配置
PermitRootLogin  yes  ---允许root ssh登陆服务器
PermitRootLogin  no   ---不允许root ssh登陆服务器
  • 重启服务
service sshd restart

💎创建 git 仓库 (root 账户)

mkdir ~/blog.git
cd ~/blog.git
git init --bare
  • 写 hook 脚本 ( post-receive 文件 )
vim ./hooks/post-receive
  • 办法 1 ( 网站删除重建 )
# 防止找不到目录而报错
mkdir /www/wwwroot/pomin/my_blog
# 删库
rm -rf /www/wwwroot/pomin/**
# 删暂存文件
rm -rf /root/pomin
# 复制到暂存文件
git clone /root/blog.git /root/pomin
# 移动到网站目录
mv /root/pomin/* /www/wwwroot/pomin
# 删暂存
rm -rf /root/pomin
  • 办法 2 ( git checkout 命令 )
git --work-tree=/www/wwwroot/pomin --git-dir=/root/blog.git checkout -f
  • 给与执行权限
chmod +x ./hooks/post-receive

📕改写本地配置文件

nano _config.yml
repo: root@公网ip:blog.git