本来博客部署在coding上的,经常访问速度超级慢。索性就研究了一下怎么部署到自己买的云服务器上。
我买的是腾讯云的服务器。网上其实有蛮多教程的。我这里还是做了一次整理。
在服务器上安装git
1 | yum install -y git |
创建git用户
1 | adduser git |
找到以下内容
1 | root ALL=(ALL) ALL |
在它后面添加一行
1 | git ALL=(ALL) ALL |
保存并退出,将权限修改回来
1 | chmod 400 /etc/sudoers |
配置密钥
在windows本地的git bash中创建密钥(如果已经设置好环境变量,直接在cmd命令行执行即可)
1 | ssh-keygen -t rsa |
一路回车即可
回到云服务器。切换至 git 用户,创建 .ssh 文件夹以及 authorized_keys 文件并将本地的 id_rsa.pub 文件内容粘贴到里面。
1 | su git |
修改权限
1 | cd ~ |
配置nginx(省略)
自动化部署
建立git仓库
1 | su root |
修改目录所有者
1 | chown git:git -R blog.git |
使用git-hooks同步网站目录
1 | cd /home/git/repo |
写入内容【这里要考虑权限问题,git用户是否有权限向web目录/www/wwwroot/hexo下创建新的文件,可以使用git用户进行测试】
1 | #!/bin/sh |
保存后赋予可执行权限
1 | chmod +x /home/git/repo/blog.git/hooks/post-receive |
本地配置
hexo 根目录下的 _config.yml 文件,找到 deploy。
1 | deploy: |
执行部署命令即可
1 | hexo g -d |