一.部署到阿里云服务器
既然博客也已经成功在本地部署,然后主题也成功安装,接下来就可以部署到服务器上面了,如果你也想要魔改matery主题,可以去CSDN上面找一找大佬的教程,或者联系我,也可以让你少走一些弯路(❁´◡`❁)。
1.部署到服务器需要做的事情
首先需要在阿里云上面购买一台服务器,然后购买域名,如果是买的国内的服务器需要完成备案,假设,到这个地方,你已经拥有了自己的服务器和域名。
2.生成ssh公钥
在本地Windows10上用管理员模式打开dos窗口(cmd),输入如下命令生成ssh公钥
生成ssh公钥
ssh-keygen -t rsa
如下图,红色箭头是输入的ssh公钥命令,划上红线的地方是公钥保存的地方,我这里保存的地方是C:\Users\Takagisan.ssh\id_rsa.pub,如果是在你的电脑上面应该就是C:\Users(用户)\你的用户名.ssh\id_rsa.pub
为什么要这样做?因为后面会用上呗。
3.配置_config.yml
这个操作也是在本地Windows10上面,这里是配置自动化部署,我们先进入我们的hexo博客文件夹,打开blog目录下的_config.yml,到底部找到deploy就在更换主题地方的下面,如下图设置
蓝色箭头是我们要打开的配置文件,黑色箭头是上面配置主题的地方,红色箭头是我们要修改的地方其中在倒数第二行的@server为你所购买的域名解析后的地址,或者是IP地址
例如👇
deploy:
type: git
repo: git@blog.takagisan.top:/var/repo/hexoBlog.git #用户名@服务器Ip:git仓库位置
branch: master
4.阿里云服务器上的hexo博客搭建和本地部署到服务器仓库
到了这里,就已经开始了,在服务器上的操作。
4.1安装宝塔面板
首先看你在阿里云上购买的是什么服务器,比如我购买的是Centos,在宝塔官网选择自己的版本,比如我的服务器是Centos版本的就输入如下命令。
Centos安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
因为我服务器已经装过宝塔面板了,不能重新装,所以这里只能打字说明了,安装完毕之后,在终端的下面会提示登录名和密码,还有宝塔登录地址,在浏览器上登录之后,选择LNMP即可,然后在左边侧边栏一栏选择。
网站–添加站点–输入解析后的域名(或者IP地址)–底部PHP版本选择纯静态,提交,然后网站创建完成。
如下图,红色箭头是第一个点击的地方,蓝色箭头是你的域名,黑色箭头选择纯静态即可。
这样做完之后,需要配置nginx了,点击网站名–配置文件,如下
server
{
listen 80;
server_name blog.takagisan.top; \# server_name 填写自己的域名
index index.php index.html index.htm default.php default.htm default.html;
root /var/www/hexo; \# 这里root填写自己的网站根目录,修改为/var/www/hexo
如下图,看箭头模仿修改
然后保存即可
4.2阿里云服务器部署仓库
如果你的服务器是一台新的机器我建议,输入如下命令,下面操作我建议是root用户操作
安装依赖库
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
安装编译工具
yum install gcc perl-ExtUtils-MakeMaker package
当然你服务器有了编译工具和依赖库就可以不用输入上面的命令
查看git版本,做这个操作的原因是如果git版本低,需要下载新版本的git,当然也可以不用下载,如果你不想更新git可以跳过删除旧版本git–下载新版本git的操作,直接到创建git账户的地方开始,当然我还是建议更新。
查看git版本
git version
删除git
yum remove git -y
下载并且解压最新版本git
cd /usr/local/src #进入下载的目录
wget https://www.kernel.org/pub/software/scm/git/git-2.28.0.tar.gz #下载最新版
tar -zxvf git-2.28.0.tar.gz #解压到当前文件夹
编译并安装
cd git-2.28.0 #进入文件夹
make prefix=/usr/local/git all #编译源码
make prefix=/usr/local/git install #安装路径
配置git环境变量
echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
刷新环境变量
source /etc/bashrc
查看版本号
git --version
创建git账户并且添加账户的权限
adduser git #创建git账户
passwd git #给git账户设置密码
chmod 740 /etc/sudoers
修改内容
vim /etc/sudoers #打开需要修改的文件
在上面打开的文件里面找到如下内容
Allow root to run any commands anywhere
root ALL=(ALL) ALL
添加如下内容
git ALL=(ALL) ALL
按下键盘上的Esc按键,然后进入进入编辑模式(shift+;),输入:wq即可保存退出,然后修改权限。
chmod 400 /etc/sudoers
切换到git用户,并且创建~/.ssh文件和~/.ssh/authorized_keys文件
su git #切换到git账户
mkdir ~/.ssh #创建~/.ssh文件
vim ~/.ssh/authorized_keys #打开文件
然后把前面在Windows10中生成的id_rsa.pub文件中的公钥内容复制到authorized_keys里面去
给文件赋予权限
chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
测试是否能免密登录git
ssh -v git@你的服务器IP地址
创建仓库目录
mkdir /var/repo #repo作为git仓库目录
chown -R git:git /var/repo
chmod -R 755 /var/repo
创建网站目录
mkdir /var/www
mkdir /var/www/hexo
chown -R git:git /var/www/hexo
chmod -R 755 /var/www/hexo
创建一个裸的git仓库
su root #切换到root用户
cd /var/repo
git init --bare hexoBlog.git
同步网站根目录
vim /var/repo/hexoBlog.git/hooks/post-receive
然后按i进入编辑模式,在这个文件里面添加两行代码,就是下面的两行代码直接添加进去即可,作用是指定git工作树源代码和git目录。
# !/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/hexoBlog.git checkout -f
然后Esc,进入编辑模式:wq保存退出即可
修改文件权限使得可以运行
chown -R git:git /var/repo/hexoBlog.git/hooks/post-receive
chmod +x /var/repo/hexoBlog.git/hooks/post-receive
至此Git仓库搭建完毕。
4.3重启宝塔服务和推送本地文件到服务器
重启宝塔面板
service bt restart
然后回到本地Windows10系统
清理缓存并且推送到服务器
hexo clean #清理缓存
hexo g #重构文件
hexo d #推送到服务器
至此,就可以打开浏览器输入域名就可以访问到Hexo部署在阿里云上的博客了。
参考文献:
[1]:https://fuchenchenle.cn/2020/08/18/hexo%E9%83%A8%E7%BD%B2%E8%85%BE%E8%AE%AF%E4%BA%91/#Fuchenchenle
[2]:https://quefeixi.com/archives/18.html
[3]:https://developer.aliyun.com/article/764438