搭建Hexo博客并部署阿里云服务器

Hexo博客部署至阿里云服务器

主要都是参考这篇博客的!自己实操了一遍,记录一下~

1. get一个服务器

1.1 购买服务器与域名

今日心血来潮,买了一个服务器玩一玩

1.2 购买一个域名

买就是了~

1.3 配置安全组规则

阿里云默认不授权80端口访问,所以我们手动配置一下(否则无法访问服务器)

0J3DNq.png

2. 配置服务器环境

2.1 安装nginx服务器

我们首先需要安装nginx服务器(默认路径/etc/nginx/)

1
yum install -y nginx

然后启动服务器:

1
2
systemctl start nginx
systemctl enable nginx

然后我们就能通过公网IP访问我们的服务器了

0J8MxU.png

2.2 配置服务器路由

因为我们想要我们的我们的地址指向我们的博客,而不是nginx的index.html,所以我们需要修改nginx的配置文件,位于etc/nginx/nginx.conf (当然也可能由于niginx版本的不同位置会有些差异)。

我们在etc/nginx/创建一个新的文件夹vhost,然后创建一个blog.conf 配置文件。

1
2
3
4
cd /etc/nginx
mkdir vhost
cd vhost
vim blog.conf

输入以下内容,然后保存即可

1
2
3
4
5
6
7
server{
listen 80;
root /home/www/website;这里填博客目录存放的地址
server_name 这里填域名如(www.baidu.com) 如果暂时没有域名就填阿里云的公网ip,以后有了再改回来;
location /{
}
}

然后我们再去编辑etc/nginx/下的nginx.conf文件

0JtbBF.png

3. 安装Git以及Node.js

3.1 安装Node.js

输入下列命令安装Node.js

1
2
curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs

然后就安装好了

0YKch8.png

3.2 安装git及配置仓库

安装git

1
yum install git

配置git用户

1
adduser git

修改用户权限:

1
2
chmod 740 /etc/sudoers
vim /etc/sudoers

在下图位置添加

1
git ALL=(ALL) ALL

0YMQC8.png

保存退出后 将sudoers文件权限改回原样

1
chmod 400 /etc/sudoers

设置git用户的密码

1
sudo passwd git

切换到git用户,然后在~目录下创建.ssh文件夹

1
2
3
4
su git
cd ~
mkdir .ssh
cd .ssh

生成公钥密钥文件

1
ssh-keygen

此时在目录下就会有两个文件,分别是

1
id_rsa 和 id_rsa.pub

其中 id_rsa.pub 就是公钥文件 我们复制一份

1
cp id_rsa.pub authorized_keys

这样目录下就会有一个authorized_keys文件,它和id_rsa.pub一模一样。
最后我们修改它的权限

1
2
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

然后上自己电脑,使用ssh连接服务器:

1
ssh -v git@自己的公网ip

0YhEtA.png

然后创建一个git仓库

1
2
3
cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive

创建好后再输入以下内容:

1
git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f

保存退出然后授予权限

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

4. Hexo安装

然后就是本地Hexo安装了,挺简单的,网上教程很多(主要是我懒,装好了不想再演示一遍了~)

装好后只需要配置一下_config.yml 就可以了

1
2
3
4
5
deploy:
type: git
repo: git@这里改为服务器公网IP:/home/git/blog.git
branch: master
message:

然后就能将hexo部署到服务器上了~

然后重新运行一下nginx服务器

1
nginx -s reload

访问你的公网ip或者域名就能访问了~