Hexo部署阿里云服务器

简述: 在阿里云服务器 Ubuntu 20.04 上部署 Hexo 博客。

本文初发于 “曾晨de小站” zengchen233.cn,同步转载于此。

背景

起初是使用的wordpress,阿里云学生机支撑不起来小站,故更换Hexo,用上我心爱的小服务器。

服务器配置

连接远程服务器

阿里云购买 “云服务器Esc” ,安装 Ubuntu 20.04;面板左侧点击 “服务器运维-远程连接” ,设置 root 密码后重启电脑生效,在本机使用 ssh root@20.01.10.24 登录 (此假设我购买的阿里云服务器公网IP20.01.10.24)。

创建新用户

创建新用户 zengchen

adduser zengchen
chmod 740 /etc/sudoers
vim /etc/sudoers

找到如下 root ALL=(ALL:ALL) ALL 后,在其下面添加一行

zengchen   ALL=(ALL:ALL) ALL  # zengchen 替换为自己用户名

获取 root 权限

sudo passwd zengchen

切换新用户

切换为新建的用户后(后面都是此用户和其 ~ 目录下工作 ),安装一些常用软件

su zengchen
cd ~
sudo apt update
sudo apt install vim git htop screenfetch curl wget 

配置 SSH

创建 ~/.sshauthorized_keys 文件,赋予权限

mkdir ~/.ssh
vim ~/.ssh/authorized_keys  # authorized_keys 名字不能变
chmod 600 ~/.ssh/authorized_keys 
chmod 700 ~/.ssh/

然后切回本机,将 cat ~/.ssh/id_rsa.pub 的结果复制到 远程服务器的~/.ssh/authorized_keys里面;在本地测试,验证 ssh 无密码登录

ssh zengchen@20.01.10.24

配置 Git

创建 Git 裸库 blog.git,和工作目录 blog(存放解析后 html 文件)

cd ~
mkdir hexo
git init --bare hexo.git
vim hexo.git/hooks/post-receive  # 创建新文件

里面 post-receive 添加 hook 钩子,

#!/bin/sh
git --work-tree=/home/zengchen/hexo --git-dir=/home/zengchen/hexo.git checkout -f

添加运行权限

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

若执行 git clone zengchen@20.01.10.24:/home/zengchen/hexo.git 可下载云服务器该 git 仓库

安装 nginx

安装 nginx 和修改对应配置文件

sudo apt install
sudo vim /etc/nginx/sites-available/default

找到

# include snippets/snakeoil.conf;

root /var/www/html; 

替换为

# include snippets/snakeoil.conf;

root /home/zengchen/hexo;

执行 service nginx status 查看 nginx 状态,其默认状态是运行中(服务开始了) + 开机自启 (若是没有,需要执行此状态 );

若此刻直接访问云服务器的公网 IP 会显示 nginx 欢迎界面,因为此时 /home/zengchen/blog 文件夹为空,没有任何 html 文件。

本地配置:

创建 hexo 文件夹

本地创建一个测试的 hexoBlog 的博客文件夹,用来最小化验证部署正确。

cd ~
hexo init hexoBlog                       # 创建和初始化 hexoBlog 文件夹
cnpm install                             # 安装插件
cnpm install hexo-deployer-git --save    # hexo d 部署插件

修改 hexoBlog 根目录下的配置文件 _config.yml ,末尾修改为

# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: git
  repo: zengchen@20.01.10.24:/home/zengchen/hexo.git
  branch: master                           
  message: '站点更新:{{now("YYYY-MM-DD HH:mm:ss")}}'

部署到远程服务器

在本机中 ~/hexoBlog 路径下,执行部署

hexo clean   # 清理
hexo g       # 生成 html 文件
hexo s       # 在本机浏览器预览效果
hexo d       # 部署,会自动将生成的 html 文件, push 到阿里云服务器的 /home/zengchen/blog 文件夹中

然后重启阿里云服务器后,浏览器输入服务器公网 IP ,即可网页看到解析后的部署网页 “Hello World”。

最后替换为自己的真实博客文件夹的 _config.yml 文件末尾处替换为如上,重新执行 hexo d 部署即可成功;可以生成一个快照哦~,以防万一。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿了个曾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值