Hexo建站从入门到精通:本地环境配置、初始化、写作与部署
四、Hexo精通二:使用Git和rsync部署Hexo 敲黑板!最后一个重点难点内容,如何将public文件夹下的内容发布到服务器上。可供我们选择的有方法:
基于上述方式的优缺点,本文将讲解如何使用Git和rsync进行服务端部署。 4.1 Git版本控制系统 服务端配置。 PS:从此开始home不再代指Hexo安装目录 1.编译安装nginx。执行以下命令下载nginx源码: 编译cloudflare patch过的openssl(如果你不使用HTTPS可以跳过本步骤) 编译安装nginx 执行nginx -V测试是否安装成功。 2.配置Git仓库 我习惯把网站目录放在/home/wwwroot下,因此先建立文件夹: 执行:apt-get install git #Debian系系统,其他发行版参考自己的包管理器,安装Git。执行如下命令,初始化空的Git仓库:git init --bare /home/wwwroot/hexo.git。然后进入该仓库,配置post-receivehooks。 钩子(hooks)是一些在”$GIT-DIR/hooks”目录的脚本, 在被特定的事件(certain points)触发后被调用 。当”git init”命令被调用后, 一些非常有用的示例钩子文件(hooks)被拷到新仓库的hooks目录中; 但是在默认情况下这些钩子(hooks)是不生效的 。 把这些子文件(hooks)的”.sample”文件名后缀去掉就可以使它们生效了。需要关注的是post-receive的钩子,当push操作完成之后这个钩子就会被调用:cd /home/wwwroot/hexo.git/hooks。建立post-receive文件,输入: 赋予可执行权限:chmod +x post-receive,上述所有命令记得替换成你自己的文件路径。之后来配置登陆Git需要的用户。执行:adduser git。要求填写密码和一系列信息。完成后自动建立/home/git主目录以及git用户组。 先确认一下你的S&S%H服务端配置,因为hexo的Git部署不支持使用密码登陆,我们需要生成一对密钥:vim /etc/s*sh/s*shd_config #Debian系系统可用,其他系统参考自己的路径 检查这三行是否被注释以及值是否正确。 如果不正确进行修改,重启s¥s%h:service s*sh restart #服务名不同发行版不同,这是Debian系的名称。然后生成一对s¥s¥h认证密钥:(注意把下方的*去掉) 在生成密钥时,会要求你输入一个加密密码,可以不填写,实现无密码登陆。生成完成后,.s*s*h目录下有id_rsa和id_rsa.pub两个文件,其中.pub文件是公钥文件,存放于服务器,另一个是私钥文件,存放于客户端。两者都是文本文件,可以直接用cat命令读取。将id_rsa下载回本地保存好。 之后配置需要用到。将公钥id_rsa.pub重命名并授予正确的权限: 3.nginx web server配置 首先建立虚拟主机配置文件夹:mkdir /usr/local/nginx/conf/vhost。修改主配置文件:vim /usr/local/nginx/conf/nginx.conf: 修改后文件内容如上,…代表省略内容。然后建立虚拟主机配置文件: 一个最基本的Hexo配置如下: 加入缓存配置: 本站是全站HTTPS,使用Let’s encrypt证书,对HTTPS有大量配置,下面是本站的配置文件: 保存你的配置文件,执行以下命令建立nginx服务并设置开机启动: 完成之后,执行:service nginx start,即可启动nginx。 本地配置 1.本地S*S*H配置。本地s*sh命令也依靠一个配置文件。用户定义配置文件的路径是~/.s*sh/config(PS:这一路径对Windows是可用的,如果你使用Git Bash,这就是为什么我强烈推荐Git Bash的原因)。建立文件夹: 编辑config文件,写入如下配置: 然后执行: PS:如果可以正常连接,说明我们的Git服务端已经配置成功。为了安全考虑,git用户禁止登陆shell,以root用户登陆服务器,编辑/etc/passwd文件,找到git:x:1002:1002:,,,:/home/git:内容,修改为git:x:1002:1002:,,,:/home/git:/usr/bin/git-shell。git-shell一旦登陆就会自动退出,但又能正常使用Git版本控制功能。(PS:中间的两个数字是UserID和GroupID,可能有所不同,没有影响,不要随意修改) 2.配置部署选项。PS:此节中home代指Hexo站点目录。执行以下命令安装hexo git部署模块: 编辑home/_config.yml文件,找到deploy项目,修改如下: 保存,进入home目录,执行以下命令即可将静态文件发布到服务端了: 至此,一切(woc终于结束了)搭建步骤完成,快访问你的域名看看效果吧~(解析请自行完成) (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |