ToB企服应用市场:ToB评测及商务社交产业平台

标题: 博客建站7 - hexo博客独立服务器怎样自动部署? [打印本页]

作者: 半亩花草    时间: 2024-8-24 16:24
标题: 博客建站7 - hexo博客独立服务器怎样自动部署?
1. 本网站的体系架构

2. 安装git

执行环境: ECS服务器 + 当地计算机
  1. sudo apt install -y git
复制代码
  1. git --version
复制代码
显示详细的版本号则说明安装乐成。
3. 配置git用户

3.1. 为什么要创建git用户

为了实现博客的自动化部署,我们后面要使用公钥免密登录服务器。为了安全起见,最好不要使用root用户免密登录,我们创建一个受限的用户来举行免密登录。
3.2. 创建git用户

执行环境: ECS服务器
  1. adduser git
复制代码
  1. cat /etc/passwd | grep git
  2. # 或
  3. id git
复制代码
将git用户添加到sudo的配置文件
  1. # 切换到root用户
  2. su -
  3. # 编辑配置文件
  4. vim /etc/sudoers
  5. # 增加配置, 在打开的配置文件中,找到root ALL=(ALL) ALL, 在下面添加一行
  6. # 其中git是你要加入的用户名称
  7. git ALL=(ALL) ALL
复制代码
3.3. 设置git用户的密码

执行环境: ECS服务器
  1. sudo passwd git
  2. # shell提示符会提示输入新密码两次,输入完成后按回车。
复制代码
设置完密码后,就可以用git用户远程登录ECS服务器了。
  1. ssh git@服务器IP
  2. # 服务器IP是ECS服务器的公网IP
复制代码
输入刚设置的密码举行登录,如果登录乐成,这说明git用户密码的设置乐成。
3.4. 创建公钥-私钥对

执行环境: 在当地计算机
条件条件: 已安装git和ssh客户端,如果未安装,请先安装。
  1. # 进入~/.ssh,如果不存在该目录,可以手动创建一个
  2. cd ~/.ssh
  3. # 创建公钥-私钥对
  4. ssh-keygen -t ed25519 -C "you_email@example.com"
  5. # 邮箱使用你的git配置的邮箱
复制代码
接下来,碰见体系询问就直接按回车键。此时便会在 ~/.ssh 目录创建两个文件,分别为: id_ed25519 (私钥) 和 id_ed25519.pub (公钥)。
3.5. 服务器配置公钥

执行环境: ECS服务器
条件条件: 已安装git,如果未安装,请先安装。
复制 4.4创建的 id_ed25519.pub 的内容。留意不要在命令行里选中复制,可以用VSCode等编辑器打开文件后,复制内容。
  1. ssh git@服务器IP
复制代码
  1. # 进入git用户的home目录
  2. cd ~
  3. # 创建.ssh目录
  4. mkdir .ssh
  5. cd .ssh/
  6. # 创建id_ed25519.pub文件,并将已复制的内容粘贴进来
  7. vim id_ed25519.pub
  8. # 检查是否保存成功
  9. cat ./id_ed25519.pub
  10. # 将公钥文件拷贝一份并命名为:authorized_keys
  11. cp ./id_ed25519.pub ./authorized_keys
复制代码
退出远程登录的服务器。再次通过ssh用git用户登录,这时应该不必要输入密码就能进正常登录了。
  1. ssh git@服务器IP
复制代码
4. hexo配置自动化部署

4.1. 配置Git仓库

执行环境: ECS服务器
条件条件: 已安装git,如果未安装,请先安装。
  1. ssh git@服务器IP
复制代码
  1. cd ~
  2. git init --bare sunlogging_repo
复制代码
  1. cd hooks/
  2. # 创建并编辑 post-receive 文件
  3. vim ./post-receive
  4. # 在vim内输入以下内容并保存:
  5. git --work-tree=/home/www/sunlogging --git-dir=/home/git/sunlogging_repo checkout -f
  6. # 给 ./post-receive 添加执行权限
  7. chmod +x ./post-receive
复制代码
post-receive文件内容的功能:
让钩子文件删除 /home/www/sunlogging 目录下原有的文件,然后从 /home/git/sunlogging_repo 仓库 clone 新的博客静态文件到 /home/www/sunlogging 目录下。
  1. cd /home/www/sunlogging
  2. # 修改 sunlogging 目录的所属用户为git,这样git用户才有读写权限
  3. chown -R git:root ./sunlogging/
复制代码
4.2. hexo站点配置

执行环境: 在当地计算机
条件条件: 已安装 node.js、hexo、git等软件,如果未安装,请先安装。
hexo-deployer-git是hexo官方提供的部署插件,可以实现hexo站点自动部署到git仓库。
  1. npm install hexo-deployer-git --save
复制代码
  1. deploy:
  2.   type: git
  3.   repo: git@your_pub_ip:/home/git/sunlogging_repo
  4.   branch: master
复制代码
your_pub_ip为ECS服务器的公网IP,请更换为你的公网IP。仓库路径修改为你本身的仓库路径。
  1. # 1.生成静态页面
  2. hexo generate
  3. # 或
  4. hexo g
  5. # 2.部署静态页面
  6. hexo deploy
  7. # 或
  8. hexo d
  9. # 1+2 简写为
  10. hexo g -d
  11. # 或
  12. hexo d -g
复制代码
通过欣赏器访问 http://xxx.xxx.xxx.xxx:80/,就能查看刚部署的博客主页了。
各人好,我是陌尘。
IT从业10年+, 北漂过也深漂过,目前暂定居于杭州,将来不知还会飘向何方。
搞了8年C++,也干过2年前端;用Python写过书,也玩过一点PHP,将来还会折腾更多东西,不死不休。
感谢各人的关注,期待与你一起发展。
【SunLogging】
扫码二维码,关注微信公众号,阅读更多精彩内容
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4