执行环境: ECS服务器 + 本地计算机
sudo apt install -y git
git --version
显示具体的版本号则说明安装成功。
为了实现博客的自动化部署,我们后面要使用公钥免密登录服务器。为了安全起见,最好不要使用root用户免密登录,我们创建一个受限的用户来进行免密登录。
执行环境: ECS服务器
adduser git
cat /etc/passwd | grep git # 或 id git
将git用户添加到sudo的配置文件
# 切换到root用户 su - # 编辑配置文件 vim /etc/sudoers # 增加配置, 在打开的配置文件中,找到root ALL=(ALL) ALL, 在下面添加一行 # 其中git是你要加入的用户名称 git ALL=(ALL) ALL
执行环境: ECS服务器
sudo passwd git # shell提示符会提示输入新密码两次,输入完成后按回车。
设置完密码后,就可以用git用户远程登录ECS服务器了。
ssh git@服务器IP # 服务器IP是ECS服务器的公网IP
输入刚设置的密码进行登录,如果登录成功,这说明git用户密码的设置成功。
执行环境: 在本地计算机
前提条件: 已安装git和ssh客户端,如果未安装,请先安装。
# 进入~/.ssh,如果不存在该目录,可以手动创建一个 cd ~/.ssh # 创建公钥-私钥对 ssh-keygen -t ed25519 -C "you_email@example.com" # 邮箱使用你的git配置的邮箱
接下来,碰见系统询问就直接按回车键。此时便会在 ~/.ssh 目录创建两个文件,分别为: id_ed25519 (私钥) 和 id_ed25519.pub (公钥)。
执行环境: ECS服务器
前提条件: 已安装git,如果未安装,请先安装。
复制 4.4创建的 id_ed25519.pub 的内容。注意不要在命令行里选中复制,可以用VSCode等编辑器打开文件后,复制内容。
ssh git@服务器IP
# 进入git用户的home目录 cd ~ # 创建.ssh目录 mkdir .ssh cd .ssh/ # 创建id_ed25519.pub文件,并将已复制的内容粘贴进来 vim id_ed25519.pub # 检查是否保存成功 cat ./id_ed25519.pub # 将公钥文件拷贝一份并命名为:authorized_keys cp ./id_ed25519.pub ./authorized_keys
退出远程登录的服务器。再次通过ssh用git用户登录,这时应该不需要输入密码就能进正常登录了。
ssh git@服务器IP
执行环境: ECS服务器
前提条件: 已安装git,如果未安装,请先安装。
ssh git@服务器IP
cd ~ git init --bare sunlogging_repo
cd hooks/ # 创建并编辑 post-receive 文件 vim ./post-receive # 在vim内输入以下内容并保存: git --work-tree=/home/www/sunlogging --git-dir=/home/git/sunlogging_repo checkout -f # 给 ./post-receive 添加执行权限 chmod +x ./post-receive
post-receive文件内容的功能: 让钩子文件删除 /home/www/sunlogging 目录下原有的文件,然后从 /home/git/sunlogging_repo 仓库 clone 新的博客静态文件到 /home/www/sunlogging 目录下。
/home/www/sunlogging
: 静态博客网站的根目录/home/git/sunlogging_repo
: 博客网站的git仓库目录cd /home/www/sunlogging # 修改 sunlogging 目录的所属用户为git,这样git用户才有读写权限 chown -R git:root ./sunlogging/
执行环境: 在本地计算机
前提条件: 已安装 node.js、hexo、git等软件,如果未安装,请先安装。
hexo-deployer-git是hexo官方提供的部署插件,可以实现hexo站点自动部署到git仓库。
npm install hexo-deployer-git --save
deploy: type: git repo: git@your_pub_ip:/home/git/sunlogging_repo branch: master
your_pub_ip为ECS服务器的公网IP,请替换为你的公网IP。仓库路径修改为你自己的仓库路径。
# 1.生成静态页面 hexo generate # 或 hexo g # 2.部署静态页面 hexo deploy # 或 hexo d # 1+2 简写为 hexo g -d # 或 hexo d -g
通过浏览器访问 http://xxx.xxx.xxx.xxx:80/,就能查看刚部署的博客主页了。
大家好,我是陌尘。
IT从业10年+, 北漂过也深漂过,目前暂定居于杭州,未来不知还会飘向何方。
搞了8年C++,也干过2年前端;用Python写过书,也玩过一点PHP,未来还会折腾更多东西,不死不休。
感谢大家的关注,期待与你一起成长。