将Hexo部署到腾讯云轻量服务器
0.本站的部署方式也是基于下方教程搭建的,后面会在个人写出完整技术栈
1.环境的准备(准备部分)
本地需要安装 Git、Nodejs需要有自己的云服务器,
本人使用的是系统为CentOS 7.2
,域名暂时没有也可以。
接下来是Git
与Nodejs
的安装。
参考这里要是已经安装完成软件,并且已经部署了本地博客,可以参考服务器部署部分。
2.安装Git
Git点击下载安装即可。具体更细节的可以参考这里。
Git的安装与基本配置——Git的学习与使用(二)(敬请期待)
3.安装Nodejs
这里推荐安装nvs,nvs地址。
因为有时候需要安装切换版本,同时这样子安装比较简单,亲测!!!
使用命令行(CMD)来安装(管理员模式)
1 | choco install nvs |
使用nvs help
查看指令。
使用nvs link [version]
来指定默认版本。使用18.0.0
就可以了。
完成后准备就可以完成了,然后开始进行Hexo的部署,有问题记得先重启电脑一次试试。
4.本地Hexo的部署(建站部分)
Hexo官网有相关的教程,可以参考。
先新建一个文件夹Hexo_next
,然后进去建立的文件夹,输入
1 | hexo init |
下载主题next
,有很多,可以自己选择,博主使用的是butterfly
。这里使用next
来进行演示。
进入Hexo_next\themes
输入
1 | git clone https://github.com/iissnan/hexo-theme-next.git |
下载该项目,有错误不要担心,多试几次,或者使用加速。
将下载的文件名称改为next
打开配置文件_config.yml
,在100
行左右,将主题修改为next
对应目录下,打开在git bash
输入
1 | npm i hexo-renderer-swig |
然后输入
1 | hexo c && hexo g && hexo s |
打开浏览器,输入如下,就可以看到
1 | http://localhost:4000/ |
至此本地部署已经完成,后续的改动可以参考其他博文,后续开始进行服务器端的部署。
5.服务器端部署
安装Git
打开服务器控制面板,修改root密码一定需要修改!!!!!,选择登录。
输入
1 | sudo su root |
然后安装Git
1 | yum install git |
创建git账户
1 | adduser git |
添加git ALL=(ALL) ALL
改回权限
1 | chmod 400 /etc/sudoers |
设置git
账户密码
1 | sudo passwd git |
设置的密码看不到,你直接输入就可以了。这里我设置的密码太简单了会有这样的提示。不用关心直接输入,看到成功提示即可。
切换至git
用户,创建~/.ssh
文件夹和~/.ssh/authorized_keys
文件,并赋予相应的权限,输入vim ~/.ssh/authorized_keys
以后先往下走,这里先放一边,我们先去创建密钥,回头粘贴在里面
先切换成git
(如下图)
1 | su git |
常用命令
1 | git config -l //查看所有配置 |
1 | Git CMD 是windows 命令行的指令风格 |
然后右键桌面打开git bash
配置用户名和邮箱
1 | git config --global user.name "你的用户名" |
通过git config -l
检查是否配置成功,至此git安装及配置全部完成。
执行以下命令生成ssh公钥,此公钥用于你的计算机连接你的轻量云服务器
1 | ssh-keygen -t rsa -C "你的邮箱" |
之后打开C盘下用户文件夹下的.ssh的文件夹,会看到 id_rsa.pub
用记事本打开上述图片中的公钥(id_rsa.pub)
,复制里面的内容,然后粘贴在5.1.8
中打开的界面
如果无法粘贴,Shift+i
进入编辑模式
即可,然后Ctrl+V
粘贴进入即可,然后按ESC
,在Shift+;,输入
wq`,保存退出,不懂的可以百度一下vim编辑器的用法即可
赋予权限
1 | chmod 600 /home/git/.ssh/authorized_keys |
这样就可以尝试在你的本地登录了,SERVER
是你的云主机IP
1 | ssh -v git@SERVER |
出现这个问题(如下图,第一个箭头),删除known_hosts
文件,可能是之前生成过,输入然后输入会让你输入密码,就是你的git用户密码。输入你设置的git密码即可,然后可以看到你的命令行为如下形式
说明已经连接成功了(上图第二个箭头)
6.配置仓库与相关配置
返回服务端命令行切换到 root 账户
1 | sudo su root |
然后输入,赋予权限
1 | mkdir /var/repo |
创建一个新的库:
1 | cd /var/repo |
创建一个新的 Git 钩子,用于自动部署。在/var/repo/hexo.git
下,有一个自动生成的hooks
文件夹。我们需要在里边新建一个新的钩子文件 post-receive
1 | vim /var/repo/hexo.git/hooks/post-receive |
进入编辑模式,然后将下面那两行代码粘贴进去,保存退出。
1 | #!/bin/bash |
新建一个文件用做网站的根目录,记得给权限。
1 | mkdir /www/wwwroot/hexo |
7.Nginx
我们使用宝塔面板来一键部署Nginx
关键是简单(如果已经安装,请直接跳到7.4
)
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh |
其中可能让你输入y/n
。输入y
确认即可,然后等等安装,安装结束如下
打开防火墙
复制上述地址即可。用户名与密码也有在用户面板中。
打开软件商店输入Nginx
,选择免费的安装。等待安装结束。
部署完成之后,点击网站,添加站点,填写你的域名
(加上3w),没有的话写你的服务器ip
地址。根目录选我们之前建立的/www/wwwroot/hexo
回到服务器终端,重启宝塔服务
1 | service bt restart |
8.部署
接下来需要将本地的生成好的/public
推送到服务器。进入本地电脑hexo
博客的根目录,编辑站点配置文件_config.yml
,找到deploy
,修改成以下(修改repo: git@127.0.0.1
:/var/repo/hexo.git,把127.0.0.1
修改成你服务器的IP
)
1 | deploy: |
然后使用
1 | npm i hexo-deployer-git -- save |
要输入密码的时候就输入即可,然后打开IP查看
9.🍕🍕🍕写在最后
有啥教程想看的可以在评论区留言,如果搭建或者魔改过程中遇到不懂的可以下方留言评论或加下面的群讨论
评论