51工具盒子

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

将hexo推送到Ubuntu服务器上

本地部署可以前往我之前用Hexo搭建个人博客进行部署和搭建


在部署时我使用的时ubuntu(Ubuntu 22.04.3 LTS)+宝塔进行搭建

宝塔的安装 {#宝塔的安装}

首先我们可以先连接上服务器安装宝塔桌面环境
我们可以使用ssh工具连接上自己的服务器,或使用服务商自带的ssh网页共具来进行连接
这里我使用window自带的ssh工具来连接服务器
使用win+r建打开快捷运行栏,在其中输入

|-----------|--------------------------| | 1 | ssh root@你的服务器地址 |

回车,这是会进入cmd界面,在root@你的服务器IP地址's password:后面输入你的服务器密码,注意在输入密码时是看不见的在输入完正确的密码后回车后即可
![ssh连接完成图片.png](https://image.mnchen.cn/2024/02/屏幕截图 2024-02-23 144714.png)
连接成功后复制对应的系统安装指令,回到ssh界面。
因为Linux的复制粘贴与window的不同,在Linux中是使用Shift+Insert进行粘贴的,在window自带的ssh中可以使用鼠标右键进行粘贴

可前往宝塔官网查看安装地址(https://bt.cn)

安装时一直回车就好了,或者有什么需要修改可以自行修改
在安装完成后可以看到面板的外网地址,在IP地址后有一串段口号,需要到对应的服务供应商去开启端口
开启后选中外网地址使用ctrl+Insert进行复制,到浏览器中打开,输入账号密码进入面板


nginx的安装 {#nginx的安装}

进入宝塔面板后我们就可以退出Windows自带的ssh工具了
在宝塔面板的左侧有一个终端工具,可以在那里进行输入,在安装完宝塔后我们首先安装nginx
在安装完宝塔后打开的第一时间就能看到两个环境安装,去安装nginx的就好了
如果之前安装过宝塔就进入软件商店中安装nginx

git配置 {#git配置}

在安装完nginx后,进入宝塔自带的终端在命令框输入
宝塔终端.png

安装git {#安装git}

安装非常直接,仅仅以 sudo 权限用户身份运行下面的命令:

|-------------|----------------------------------------------| | 1 2 | sudo apt update sudo apt install git |

运行下面的命令,打印 Git 版本,验证安装过程:

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

创建git用户 {#创建git用户}

1.在命令框输入(下面不做重复提示了)

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

2.添加git账户权限
首先输入

|-----------|--------------------------------| | 1 | chmod 740 /etc/sudoers |

开启权限,在宝塔面板文件中打开**/etc/sudoers**
![屏幕截图 2023-08-27 113642.png](https://image.mnchen.cn/2024/02/屏幕截图 2023-08-27 113642.png)
双击进入文件中,找到以下代码

|-------------|------------------------------------------------------------------------------| | 1 2 | ## Allow root to run any commands anywhere root ALL=(ALL) ALL |

添加以下内容:

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

改成

|---------------|-----------------------------------------------------------------------------------------| | 1 2 3 | # User privilege specification root ALL=(ALL:ALL) ALL git ALL=(ALL:ALL) ALL |

后就可以保存退出了

3.改回权限

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

5.切换至git用户,创建 ~/.ssh 文件夹

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

配置本地ssh {#配置本地ssh}

在创建号.ssh文件夹后,先回到电脑配置本地ssh,如果之前配置过就直接复制位于C盘用户中.ssh文件夹里面的id_rsa.pub,用记事本打开,c全选复制就好了
在本地电脑打开聪明的输入

|-------------|---------------------------------------------------------------------------------------------| | 1 2 | ssh-keygen -t rsa -C "your email@example.com" //引号里面填写你的邮箱地址,比如我的是mqer06328@163.com |

之后会出现:

|---------------|-----------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 | Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): //到这里可以直接回车将密钥按默认文件进行存储 |

然后会出现:

|---------------|----------------------------------------------------------------------------------------------------------------| | 1 2 3 | Enter passphrase (empty for no passphrase): //这里是要你输入密码,其实不需要输什么密码,直接回车就行 Enter same passphrase again: |

接下来屏幕会显示:

|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 | Your identification has been saved in /c/Users/you/.ssh/id_rsa. Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub. The key fingerprint is: 这里是各种字母数字组成的字符串,结尾是你的邮箱 The key's randomart image is: ssh配置这里也是各种字母数字符号组成的字符串 |

运行以下命令,将公钥的内容复制到系统粘贴板上

|-----------|----------------------------------| | 1 | clip < ~/.ssh/id_rsa.pub |

在宝塔面板中打开根目录下的home文件中git的.ssh文件夹
在里面创建一个名为authorized_keys的文件
ssh配置.png
创建后双击打开,将配置在本地的ssh粘贴保存在其中
接着,输入一下命令,赋予权限

|---------------|---------------------------------------------------------------------------| | 1 2 3 | chmod 600 /home/git/.ssh/authorized_keys chmod 700 /home/git/.ssh |

在本地Git终端中测试是否能免密登录git,其中SERVER为填写自己的云主机IP,执行输入yes后输入你之前配置的git密码,无报错就说明好了,在电脑本地打开cmd,输入以下命令其中SERVER填写自己的云主机ip,执行输入yes后不用密码说明配置成功了。

|-----------|---------------------------| | 1 | ssh -v git@SERVER |

git测试.png

仓库目录及相关配置 {#仓库目录及相关配置}

先返回root账号输入以下命令

|-----------|-----------------| | 1 | su root |

进入根目录

|-----------|--------------| | 1 | cd ~ |

在根目录下创建hexo/repo作为Git仓库目录

|-----------|-----------------------------| | 1 | mkdir -p /hexo/repo |

赋予权限:

|-------------|-------------------------------------------------------------| | 1 2 | chown -R git:git /hexo/repo chmod -R 755 /hexo/repo |

接下来创建hexo目录作为网站根目录,并赋予权限:

|---------------|-------------------------------------------------------------------------------| | 1 2 3 | mkdir /hexo/hexo chown -R git:git /hexo/hexo chmod -R 755 /hexo/hexo |

接下来创建一个空白的git仓库

|-------------|------------------------------------------------| | 1 2 | cd /hexo/repo git init --bare hexo.git |

创建一个新的 Git 钩子,用于自动部署.
在 /hexo/repo/hexo.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。
在宝塔文件中打开/hexo/repo/hexo.git/hooks,在里面创建一个名为post-receive的文件
post.png
双击打开,将以下代码输入进去

|-------------|------------------------------------------------------------------------------------------| | 1 2 | #!/bin/bash git --work-tree=/hexo/hexo --git-dir=/hexo/repo/hexo.git checkout -f |

修改权限:

|-------------|-----------------------------------------------------------------------------------------------------------------| | 1 2 | chown -R git:git /hexo/repo/hexo.git/hooks/post-receive chmod +x /hexo/repo/hexo.git/hooks/post-receive |

将整个hexo文件夹权限给到git用户

|-------------|---------------------------------------------------| | 1 2 | chown -R git:git /hexo chmod -R 755 /hexo |

到这里Git仓库已经搭建完毕了。

本地配置 {#本地配置}

打开本地的博客文件夹,修改 _config.yml文件,找到deploy,修改成以下

|-------------------|-------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 | deploy: - type: git #repo改为repo: git@你的域名:/hexo/repo/hexo.git repo: git@hjxlog.com:/hexo/repo/hexo.git branch: master |

最后在本地电脑hexo博客的根目录右击,Git Bash Here,输入以下命令部署

|---------------|-------------------------------| | 1 2 3 | hexo cl hexo g hexo d |

宝塔设置网站 {#宝塔设置网站}

进入宝塔面板中的网站,添加一个新的站点 ,将网站目录改到/hexo/hexo就好了
网站目录.png

结尾 {#结尾}

因为这篇网站是我直接的部署方案,可能还有什么不到为的地方。
总的来说,部署还是比较简单的,第一次没成功的同学不要轻易放弃,多去网上找找答案,努力解决问题,加油!

赞(0)
未经允许不得转载:工具盒子 » 将hexo推送到Ubuntu服务器上