Hexo博客部署到阿里云服务器
前言
这几天一折腾起来就发现完全停不下来了,前几天我把我的博客部署到了Coding平台,前天又手痒在阿里云上购买了一个域名。今早又没忍住购买了阿里云的学生服务器。于是我最终决定把我的博客部署到阿里云服务器上。在折腾了一个上午后,我终于成功的完成了博客的部署,这篇博客记录下我的整个部署流程。
服务器环境搭建
安装Git
这没啥好说的:
apt-get install git
配置Nginx
安装nginx
1
apt-get install nginx
nginx
1
sudo service start nginx
然后在浏览器输入服务器的公网地址,就可以看见nginx的默认页面。
注意: 这里有个超级大坑,一定要在服务器的安全组规则中添加80端口,否则不会有任何输出。这里耗费了我一个多小时的时间,说多了都是泪。
默认配置
cd
进入nginx的配置文件目录,然后使用vim
打开文件1
2cd /etc/nginx/sites-available
sudo vim default其中
server_name
修改为自己的域名,没有域名则无需修改。
root
修改为/var/www/html/blog
,这是我们博客网站的根目录。
创建git用户
1 | adduser git |
找到以下内容1
2## Allow root to run any commands anywhere
root ALL=(ALL) ALL
在下面添加一行1
git ALL=(ALL) ALL
获得root权限1
sudo passwd git
设置SSH
切换为git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限1
2
3su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
然后将客户端.ssh
文件夹下的id_rsa.pub
文件里的内容复制到authorized_keys
中,接着赋予相应的权限1
2chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh
然后我们在客户端终端上输入ssh -v git@ip地址
就可以免密登录了
git仓库设置
切换到git用户,然后再服务器上初始化一个git裸库1
2
3su git
cd ~
git init --bare blog.git
接着新建一个post-receive文件1
vim ~/blog.git/hooks/post-receive
在文件中输入1
2#!/bin/sh
git --work-tree=/var/www/html/blog --git-dir=/home/git/blog.git checkout -f
保存退出后再赋予该文件执行权限1
chmod +x ~/blog.git/hooks/post-receive
本地设置
这里nodejs,npm,git,hexo等的安装就不再叙述了。本地的设置就很简单,只需要修改博客配置文件即可1
2
3
4
5
6# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo:
aliyun: git@ip地址:/home/git/blog.git,master
然后我们在终端执行1
2
3hexo clean
hexo g
hexo d
博客文件就会上传到我们在服务器上的git仓库,然后再部署到我们创建的博客根目录。我们在浏览器中访问服务器地址,就可以看到我们的博客了。