将hexo部署到服务器


将hexo部署到服务器

我以前是部署在github上的,本机的部署都是完成了的,本机部署请看其他教程

安装git

yum install git

创建git用户

adduser git #/home 目录下生成一个git目录
passwd git #设置密码
chmod a+w /etc/sudoers
vim /etc/sudoers #添加git ALL=(ALL) ALL

配置SSH密钥

vim ~/.ssh/authorized_keys
#在物理机中复制C:\Users\youruser\.ssh\id_rsa.pub中的公钥到上面的文件中
保存退出

创建仓库

su git
cd /home/git
mkdir -p projects/hexo # 建立项目目录
mkdir repos #创建仓库目录
cd repos
git init --bare hexo.git #创建仓库
chown -R git:git /home/git/repos/hexo.git # 给git用户添加权限

创建一个钩子

接上面继续操作

cd hexo.git/hooks
vim post-receive # 创建一个钩子
#添加如下文件
#!/bin/sh
git --work-tree=/var/www/blog --git-dir=/home/git/repos/hexo.git checkout -f
chmod +x post-receive # 添加可执行权限

本地建立SSH信任关系

ssh-copy-id -i ~/.ssh/id_rsa.pub git@server_ip # 建立信任关系
ssh git@server_ip # 试一下能不能登录

更改git用户默认的shell

cat /etc/shells # 查看 git-shell 是否在登录方式里面
which git-shell # 找到git-shell的路径,记下来
vim /etc/shells
然后把刚才记下来的路径添加进去

vim /etc/passwd
#把git:x:1000:1000::/home/git:/bin/bash修改为git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell
#没有就算了

BUG

报错remote: fatal: cannot create directory at '2019': Permission denied

部署目录没有写的权限,改法

chmod go+w /home/git/projects/hexo

文章作者: 0xdadream
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 0xdadream !
评论
  目录