阿里Ubuntu 20.04宝搭建Hexo博客
阿里Ubuntu 20.04宝搭建Hexo博客
小植部署环境与准备
1.环境
本地Windows10操作系统
阿里云 Ubuntu 20.04服务器面板
2.准备
hexo 本地博客
Xshell 链接到服务器
云服务器配置 Git
配置步骤
1.查看git 版本
1 | git --version |
2.安装依赖
1 | sudo apt update |
3.卸载旧版本git
1 | sudo apt-get remove git |
4.打开文件夹
用于存放下载的git包
1 | cd /usr/local/src/ |
5.下载最新版git压缩包
1 | wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.33.0.tar.gz |
6.解压
1 | tar -xzvf git-2.33.0.tar.gz |
7.切换到解压后的文件目录
1 | cd git-2.33.0 |
8.编译
1 | make prefix=/usr/local all |
会显示一堆.o类型的文件,表示正在从源码编译。
9.安装
1 | sudo make prefix=/usr/local install |
10.查看安装的git版本
1 | git --version |
成功出现git version 2.32.0
即表示安装成功。
11.配置Git
创建git用户
1 | adduser xiaozhi |
12.设置用户密码(可选)
1 | passwd xiaozhi |
13.分配权限
1 | chmod 740 /etc/sudoers |
14.按 i 键进入文件的编辑模式,找到如下字段root ALL=(ALL) ALL
在其后面增加一句:
1 | xiaozhi ALL=(ALL) ALL |
15.按 Esc 键退出编辑模式,输入:wq 保存退出。
退回权限:
1 | chmod 400 /etc/sudoers |
16.生成Windows本地密钥
1 | ssh-keygen -t rsa |
17.复制里面的内容,返回Linux服务器端,创建.ssh文件夹
1 | su xiaozhi |
18.创建.ssh/authorized_keys文件,打开authorized_keys文件并将刚才在本地机器复制的内容拷贝其中并保存
1 | vim ~/.ssh/authorized_keys |
19.按i进入编辑模式粘贴完按 Esc 键退出编辑模式,输入:wq 保存退出。
修改权限
1 | chmod 755 ~ && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys |
20.测试连接
yourIp为远程服务器的ip地址,腾讯云轻量云服务器一般是公网IP:12X.XXX.XXX.XX
1 | ssh -v xiaozhi@yourIp //yourIp为你的服务器ip |
如果设置有密码,输入密码即可连接到远程终端。
云服务器网站配置
1.宝塔配置
这里采用宝塔的一键LAMP配置,然后就可以很方便的使用一些功能。
添加站点
- 在域名中添加自己购买的域名,并确保已经解析IP到自己阿里云服务器上了,这个步骤网上有很多教程,自行完成域名相关问题,证书SSL申请等,如果域名有解析可以直接勾上。
- 证书的添加自行百度搜索,强制https开关打开,保证安全性。
- 这里的
blog.xiaoztx.top
要改成自己购买的域名,下同
2.创建远程博客目录
切换到远程Linux服务器端
切换到root用户,创建一个目录用于存储网站的根目录/www/wwwroot/blog.xiaoztx.top/hexo
并赋给相应权限
1 | su root |
5.建立git仓库并初始化
1 | cd /home/xiaozhi |
3.修改blog.git的权限(-R 是递归,即文件夹下的所有文件夹或文件都会递归修改权限)
1 | chown xiaozhi:xiaozhi -R blog.git |
4.在 /home/git/blog.git 下,有一个自动生成的 hooks 文件夹,我们创建一个新的 git 钩子 post-receive,用于自动部署。
1 | vim blog.git/hooks/post-receive |
5.按 i 键进入文件的编辑模式,在该文件中添加两行代码(将下边的代码粘贴进去),指定 Git 的工作树(源代码)和 Git 目录。
1 |
|
按 Esc 键退出编辑模式,输入:wq 保存退出。
6.修改文件的执行权限
1 | chmod +x /home/xiaozhi/blog.git/hooks/post-receive |
1 | chown xiaozhi:xiaozhi -R /www/wwwroot/blog.xiaoztx.top/hexo |
8.将网站目录
改成/www/wwwroot/blog.xiaoztx.top/hexo
9.在 windows10 本地 hexo 目录修改_config.yml 文件
1 | deploy: |
10.在本机 gitbash 部署
1 | hexo clean |
或者一键三连
1 | hexo cl && hexo g && hexo d |
常见错误
1.git-upload-pack: 未找到命令
1 | bash: git-upload-pack: command not found |
解决方法
1 | sudo ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack |
2.git-receive-pack: 未找到命令
1 | bash: git-receive-pack: command not found |
解决方法
1 | sudo ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack |
3.无法远程连接获取
1 | fatal: Could not read from remote repository. |
解决方法
1 | 重试或者 删掉本地ssh公钥重新上传至服务器 |
4.key 出错
1 | Host key verification failed. |
解决方法
1 | ssh-keygen -R 你要访问的IP地址 |