51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

腾讯Centos7.9宝塔搭建Hexo博客

部署环境与准备 {#部署环境与准备}

1.环境

本地Windows10操作系统

腾讯云 Centos 7.9 服务器宝塔面板

2.准备

hexo 本地博客

Xshell 链接到服务器

云服务器配置 Git {#云服务器配置-Git}

配置步骤
1.查看git 版本

|-----------|-----------------------| | 1 | git --version |

2.安装依赖

|---------------|------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 | yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc yum install gcc perl-ExtUtils-MakeMaker |

3.卸载旧版本git

|-----------|------------------------| | 1 | yum remove git |

4.打开文件夹
用于存放下载的git包

|-----------|----------------------------| | 1 | cd /usr/local/src/ |

5.下载最新版git压缩包

|-----------|-------------------------------------------------------------------------------------| | 1 | wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.32.0.tar.xz |

6.解压

|-----------|------------------------------------| | 1 | tar -xvf git-2.32.0.tar.xz |

7.切换到解压后的文件目录

|-----------|-----------------------| | 1 | cd git-2.32.0 |

8.编译

|-----------|----------------------------------------| | 1 | make prefix=/usr/local/git all |

会显示一堆.o类型的文件,表示正在从源码编译。

9.安装

|-----------|--------------------------------------------| | 1 | make prefix=/usr/local/git install |

10.配置环境变量
方式一方式二

|-----------|--------------------------------------------------------------------------------------------| | 1 | echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile && source /etc/profile |

也可以将该语句直接写入相应的文件中,再执行source命令使生效。

|-----------|--------------------------| | 1 | vim /etc/profile |

将下面两行命令添加到profile文件末尾

|-------------|---------------------------------------------------------------| | 1 2 | PATH=$PATH:/usr/local/git/bin # git 的目录 export PATH |

按i进入编辑模式,按esc退出,再按:wq保存编辑。
使写入语句生效:

|-----------|-----------------------------| | 1 | source /etc/profile |

11.查看安装的git版本

|-----------|-----------------------| | 1 | git --version |

成功出现git version 2.32.0即表示安装成功。

12.配置Git
创建git用户

|-----------|---------------------| | 1 | adduser git |

13.设置用户密码(可选)

|-----------|--------------------| | 1 | passwd git |

14.分配权限

|---------------|-------------------------------------------------| | 1 2 3 | chmod 740 /etc/sudoers vim /etc/sudoers |

15.按 i 键进入文件的编辑模式,找到如下字段
root ALL=(ALL) ALL
在其后面增加一句:

|-----------|-------------------------------------| | 1 | git ALL=(ALL) ALL |

16.按 Esc 键退出编辑模式,输入:wq 保存退出。
退回权限:

|-----------|--------------------------------| | 1 | chmod 400 /etc/sudoers |

17.生成Windows本地密钥

|-----------|---------------------------| | 1 | ssh-keygen -t rsa |

18.复制里面的内容,返回Linux服务器端,创建.ssh文件夹

|---------------|-----------------------------| | 1 2 3 | su git mkdir ~/.ssh |

19.创建.ssh/authorized_keys文件,打开authorized_keys文件并将刚才在本地机器复制的内容拷贝其中并保存

|-----------|------------------------------------| | 1 | vim ~/.ssh/authorized_keys |

20.按i进入编辑模式粘贴完按 Esc 键退出编辑模式,输入:wq 保存退出。

修改权限

|-----------|-----------------------------------------------------------------------------| | 1 | chmod 755 ~ && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys |

21.测试连接
yourIp为远程服务器的ip地址,腾讯云轻量云服务器一般是公网IP:12X.XXX.XXX.XX

|-----------|------------------------------------------------| | 1 | ssh -v git@yourIp //yourIp为你的服务器ip |

如果设置有密码,输入密码即可连接到远程终端。

云服务器网站配置 {#云服务器网站配置}

1.宝塔配置
这里采用宝塔的一键LAMP配置,然后就可以很方便的使用一些功能。

添加站点

  • 在域名中添加自己购买的域名,并确保已经解析IP到自己腾讯云服务器上了,这个步骤网上有很多教程,自行完成域名相关问题,证书SSL申请等,如果域名有解析可以直接勾上。
  • 证书的添加自行百度搜索,强制https开关打开,保证安全性。
  • 这里的blog.xiaoztx.top要改成自己购买的域名,下同

2.创建远程博客目录
切换到远程Linux服务器端
切换到root用户,创建一个目录用于存储网站的根目录/www/wwwroot/blog.xiaoztx.top/hexo并赋给相应权限

|-------------------|--------------------------------------------------------------------------------------| | 1 2 3 4 5 | su root mkdir /home/hexo chown git:git -R /www/wwwroot/blog.xiaoztx.top/hexo |

5.建立git仓库并初始化

|-------------|-----------------------------------------------| | 1 2 | cd /home/git git init --bare blog.git |

3.修改blog.git的权限(-R 是递归,即文件夹下的所有文件夹或文件都会递归修改权限)

|-----------|-----------------------------------| | 1 | chown git:git -R blog.git |

4.在 /home/git/blog.git 下,有一个自动生成的 hooks 文件夹,我们创建一个新的 git 钩子 post-receive,用于自动部署。

|-----------|-----------------------------------------| | 1 | vim blog.git/hooks/post-receive |

5.按 i 键进入文件的编辑模式,在该文件中添加两行代码(将下边的代码粘贴进去),指定 Git 的工作树(源代码)和 Git 目录。

|-------------|-----------------------------------------------------------------------------------------------------------------| | 1 2 | #!/bin/bash git --work-tree=/www/wwwroot/blog.xiaoztx.top/hexo --git-dir=/home/git/blog.git checkout -f |

按 Esc 键退出编辑模式,输入:wq 保存退出。

6.修改文件的执行权限

|-----------|--------------------------------------------------------| | 1 | chmod +x /home/git/blog.git/hooks/post-receive |

|-----------|-------------------------------------------------------------| | 1 | chown git:git -R /www/wwwroot/blog.xiaoztx.top/hexo |

8.将网站目录 改成/www/wwwroot/blog.xiaoztx.top/hexo

9.在 windows10 本地 hexo 目录修改_config.yml 文件

|-----------------|---------------------------------------------------------------------------------------------------| | 1 2 3 4 | deploy: type: git repository: git@ip:/home/git/blog.git #用户名@服务器Ip:git仓库位置 branch: master |

10.在本机 gitbash 部署

|-------------|------------------------------| | 1 2 | hexo clean hexo g -d |

或者一键三连

|-----------|-------------------------------------| | 1 | hexo cl && hexo g && hexo d |

常见错误 {#常见错误}

1.git-upload-pack: 未找到命令

|-------------|------------------------------------------------------------------------------------------------| | 1 2 | bash: git-upload-pack: command not found fatal: Could not read from remote repository. |

解决方法

|-----------|----------------------------------------------------------------------------------| | 1 | sudo ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack |

2.git-receive-pack: 未找到命令

|-------------|-------------------------------------------------------------------------------------------------| | 1 2 | bash: git-receive-pack: command not found fatal: Could not read from remote repository. |

解决方法

|-----------|-----------------------------------------------------------------------------------| | 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地址 |

赞(0)
未经允许不得转载:工具盒子 » 腾讯Centos7.9宝塔搭建Hexo博客