hexo博客部署到宝塔面板
以下操作默认你已完成了(Linux面板Centos)宝塔安装及已创建好博客
我使用hexo搭建的博客,https://butterfly.js.org/ 使用的该主题
1.先在本地电脑(本人win10系统)生成SSH密钥
第一次配置SSH,需要配置一下git的username 和 email
git config --global user.name “随意输入”
git config --global user.email “邮箱(github邮箱)”
打开cmd 输入 ssh-keygen后根据提示选择基本是设置密码(也可以直接按三次回车键)
cmd输入该命令查看密钥 ssh cat ~/.ssh/id_rsa.pub 创建非对称加密对(有些电脑可用)
密钥文件默认存储目录(c:/用户/用户名/.ssh)的 .ssh 文件夹中。
id_rsa 私钥
id_rsa.pub 公钥 以记事本打开
宝塔操作(在终端里操作!)重要的事情说三遍 键盘的shift+ins等于黏贴
默认用户是 root
注意如果遇到权限不足使用root用户输入命令即可!!!
vim 命令等于查看,输入vim命令后要先按一下键盘上的 i 进入编辑模式
编辑完成后 按一下ESC键 输入 :wq 保存并退出
1.打开宝塔终端先查看有没有git(有些自带git就不用再次安装了)
输入 git --version 查看git版本
安装命令 yum install git 会出现一个确认 Is this ok [y/d/N]: 输入y即可
看到该文字Complete 带标 安装成功
2.添加git用户
adduser git
3.添加权限
chmod 740 /etc/sudoers
4.编辑文件
这是文件的路径(也可以点击文件的选项去查找该文件编辑)
vim /etc/sudoers
在文件里找到以下代码
Allow root to run any commands anywhere
root ALL=(ALL) ALL
添加该代码
git ALL=(ALL) ALL
然后按键盘的ESC键后输入:wq保存退出
5.修改权限(可以跳过)
chmod 400 /etc/sudoers
6.设置git密码,注意:输入密码不会显示,输入完成回车即可
sudo passwd git
7.切换到git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并添加权限
su git
mkdir ~/.ssh
按 i 进入编辑,将本地电脑中生成的id_rsa.pub文件中的公钥复制到authorized_keys中,
按ESC,随后输入 :wq ,保存并退出。
vim ~/.ssh/authorized_keys
紧接着添加权限
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
在本地电脑使用git软件(右键桌面 Git Bash Here) 或者 CMD
输入 ssh -v git@服务器ip(一般用ip)或域名 比如ip为localhost:4000
ssh -v git@localhost 执行后输入yes,不用输入密码说明ssh配置完成
如果用密码那就输密码吧(密码就是通过该命令 sudo passwd git 添加的密码)🐇
如果之前配置过git,可能会出现以下这种错误。
Offending ECDSA key in /c/Users/jonty/.ssh/known_hosts:5 (报错位置)
找到(c:/用户/用户名/.ssh)的 .ssh 文件夹中的known_hosts用记事本打开根据报错位置删除即可。
然后重新执行 ssh -v git@localhost(服务器ip)
8.创建仓库目录及相关配置
切换为root用户
输入该命令: sudo su root ,可能需要输入git密码(前面已设置
/www/wwwroot/ 这些都是文件路径
创建repo目录
mkdir /www/wwwroot/repo
添加权限
chown -R git:git /www/wwwroot/repo
chmod -R 755 /www/wwwroot/repo
创建hexo目录
mkdir /www/wwwroot/hexo
添加权限
chown -R git:git /www/wwwroot/hexo
chmod -R 755 /www/wwwroot/hexo
进入repo目录
cd /www/wwwroot/repo
初始化 git仓库
git init --bare hexo.git
/www/wwwroot/repo/hexo.git 下,
有一个自动生成的 hooks 文件夹。需要在里边新建一个新的钩子文件 post-receive。
编辑文件 键盘 i 进入编辑模式
vim /www/wwwroot/repo/hexo.git/hooks/post-receive
输入以下内容后按ESC后输入 :wq退出并保存
#!/bin/bash
git --work-tree=/www/wwwroot/hexo --git-dir=/www/wwwroot/repo/hexo.git checkout -f
修改权限 到此git仓库已完成配置
chown -R git:git /www/wwwroot/repo/hexo.git/hooks/post-receive
chmod +x /www/wwwroot/repo/hexo.git/hooks/post-receive
最后操作
宝塔的网站选项
修改hexo配置
配置文件 _config.yml(默认的)
找到下面的deploy
deploy:
type: git
repo: git@服务器ip:/www/wwwroot/repo/hexo.git (这个路径就是8.创建仓库目录及相关配置里配置的)
branch: master
在hexo根目录右键Git Bash Here输入以下命令
hexo clean
hexo d -g 部署命令
这时候可能出现权限问题或其他问题,导致部署到git失败。
在宝塔终端输入以下命令即可:
路径都是在8.创建仓库目录及相关配置弄过
chown -R git:git /www/wwwroot/repo/
chown -R git:git /www/wwwroot/hexo/
最后再hexo d -g部署,应该就可以看到部署成功了。
或者在hexo根目录的package.json里添加该命令
“scripts”: {
“build”: “hexo generate”,
“clean”: “hexo clean”,
“deploy”: “hexo deploy”,
“start”: “hexo server”,
“git说明”: “更新服务器的博客资源”,
“git”: “hexo d -g”
}