迁移博客到阿里云

之前在github pages上部署了博客,后来发现百度不收录,挣扎下,购入一台阿里云的云服务器liunx,一键部署到github和阿里云上,国内外都能访问,这样就好很多了。

这样我们在本地编写好文章,hexo clean && hexo d 后,部署Hexo帮我们生成静态的html页面,并通过Hexo将生成的html文件上传到我们的阿里云服务器。

相关阅读:

如何零成本搭建一个博客
如何同步并管理我的文章

本地访问服务器

服务器配置

Mobaxterm软件

下载:https://mobaxterm.mobatek.net/


填写外网地址,用户root和密码

环境搭建

安装nginx,git

1
2
yum install nginx
yum install git

测试是否安装成功:出现 Ngnix 相关版本信息,则表明成功。

1
2
[root@iZbp17a3lpyn5dsm8xnv7rZ ~]# nginx -v
nginx version: nginx/1.22.1

可以查看下 nginx 相关的目录:

  • /usr/sbin/nginx: nginx 主程序
  • /etc/nginx: 存放 nginx 相关配置
  • /var/log/nginx: 存放 nginx 日志

我们来到 ect/nginx文件夹下,选中nginx.conf右击选择第二个[open with default text editor]打开默认文本编辑。

配置nginx

1
2
3
4
5
6
7
8
9
server {
listen 80;
server_name [你的域名];

location / {
root /root/my-blog/public/; // 这里是我的博客存放路径,记得换成你的
index index.html;
}
}

我们要通过80端口访问nginx服务,、添加安全组
阿里云工作台:点击云服务器/ECS安全组-配置规则-添加安全规则

启动nginx

1
service nginx reload

这个时候你可以在你的静态目录下创建一个html,通过外网ip来检测是否配置成功了。

自动化部署

创建git用户
1
2
3
adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers

按i键由命令模式切换到编辑模式,:wq保存退出

1
2
root    ALL=(ALL)     ALL
+ git ALL=(ALL) ALL
1
2
3
4
5
6
7
sudo passwd git // 需要root权限设置Git用户的密码
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
#然后将电脑中执行 cat ~/.ssh/id_rsa.pub ,将公钥复制粘贴到authorized_keys
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh

在本地打开终端:

1
ssh -v git@SERVER

可以看是否能访问了。

服务器git配置

1
2
3
cd /home/git
git init --bare hexo.git
chown -R git:git hexo.git //修改权限

在 /home/git/hexo.git/hooks/post-receive 文件中写入:

1
2
#!/bin/sh
git --work-tree=/root/my-blog/public --git-dir=/home/git/hexo.git checkout -f
1
chmod +x post-receive //修改权限

至此,我们可以在本地 git clone git@SERVER 克隆下来文件了。

hexo配置

根目录config.yml文件

1
2
3
4
5
6
7
deploy:
- type: 'git'
repo: git@120.27.234.107:/home/git/hexo.git
branch: 'master'
- type: 'git'
repo: https://github.com/xuxia2013/xuxia2013.github.io.git
branch: 'main'

测试是否能部署到阿里云上:

1
hexo d

成功!

Turbopack 将会是 Web 下一代的打包工具 微信开发-eggjs后台上传素材

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×