阿里云服务器如何搭建Hexo个人博客?

简介: 阿里云服务器如何搭建Hexo个人博客?

1. 博客的架构


先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。

不然只跟着步骤过了一遍,却不知道为什么这么做。


首先看这张架构图:



image.png


整个流程就是本地将 *.md 渲染成静态文件,然后Git推送到服务器的repository,服务器再通过 git-hooks 同步网站根目录。


2. 整个搭建流程


前提条件:阿里云服务器


第一部分: 服务器环境搭建,包括安装 GitNginx配置 、创建 git 用户 。


第二部分: 本地Hexo初始化, 包括安装 NodeJShexo-cli, 生成本地静态网站


第三部分: 使用Git自动化部署发布博客


3. 服务器环境搭建


3-1.安装Git和NodeJS (CentOS 环境)


yum install git

安装NodeJS

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -


NodeJS 安装可以参考: Linux安装NodeJS


3-2. 创建git用户


adduser git
chmod 740 /etc/sudoers
vim /etc/sudoers

找到以下内容


## Allow root to run any commands anywhere
root ALL=(ALL) ALL

在下面添加一行


git ALL=(ALL) ALL

保存退出后改回权限


chmod 400 /etc/sudoers

随后设置Git用户的密码,


#需要root权限
sudo passwd git

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限


su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

然后将电脑中执行 cat ~/.ssh/id_rsa.pub | pbcopy ,将公钥复制粘贴到authorized_keys

chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh


然后就可以执行ssh 命令测试是否可以免密登录


ssh -v git@SERVER

至此,Git用户添加完成


3-3. Nginx安装和配置


我是用的是lnmp 一键安装包,nginx安装教程一大堆,就不再叙述。主要看nginx配置。
找到nginx的配置文件,修改配置如下:


server
{
listen 80;
#listen [::]:80;
server_name www.seekbetter.me seekbetter.me;
index index.html index.htm index.php default.html default.htm default.php;
#这里要改成网站的根目录
root  /path/to/www;  

include other.conf;
#error_page   404   /404.html;
location ~ .*\.(ico|gif|jpg|jpeg|png|bmp|swf)$
{
    access_log   off;
    expires      1d;
}

location ~ .*\.(js|css|txt|xml)?$
{
    access_log   off;
    expires      12h;
}

location / {
    try_files $uri $uri/ =404;
}

access_log  /home/wwwlogs/blog.log  access;

}


4. 本地Hexo程序


4-1:初始化Hexo博客


首先要安装 hexo-cli,安装hexo-cli 需要 root 权限,使用 sudo 运行


sudo npm install -g hexo-cli

然后初始化Hexo程序


cd ~/Documents/code
hexo init blog

等执行成功以后安装两个插件, hexo-deployer-githexo-server ,这俩插件的作用分别是使用Git自动部署,和本地简单的服务器。


hexo-deployer-git帮助文档

hexo-server帮助文档


cd blog
npm install hexo-deployer-git --save
npm install hero-server

4-2. 生成自己的第一篇文章 hello world !


使用 hexo new <文章名称> 来新建文章,该命令会成成一个 .md文件放置在 sources/_posts文件夹。


hexo new "hello Hexo"
vim sources/_posts/hello-hexo.md

编辑完毕以后, 使用hexo g.md文件渲染成静态文件,然后启动hexo-server


hexo g
hexo server

现在便可以打开浏览器访问 来查看我们的博客了!


5. 自动化部署


5-1:服务器上建立git裸库


创建一个裸仓库,裸仓库就是只保存git信息的Repository, 首先切换到git用户确保git用户拥有仓库所有权

一定要加 --bare,这样才是一个裸库。


su git
cd ~
git init --bare blog.git

5-2. 使用 git-hooks 同步网站根目录


在这里我们使用的是 post-receive这个钩子,当git有收发的时候就会调用这个钩子。 在 ~/blog.git 裸库的 hooks文件夹中,

新建post-receive文件。


vim ~/blog.git/hooks/post-receive

!/bin/sh

git --work-tree=/path/to/www --git-dir=~/blog.git checkout -f


保存后,要赋予这个文件可执行权限


chmod +x post-receive

5-3. 配置_config.yml,完成自动化部署


然后打开 _config.yml, 找到 deploy


deploy:
type: git
repo: git&#64;SERVER:/home/git/blog.git    //&lt;repository url&gt;
branch: master            //这里填写分支   [branch]
message: 提交的信息         //自定义提交信息 (默认为 Site updated: {<!-- -->{ now(&#39;YYYY-MM-DD HH:mm:ss&#39;) }})


保存后,尝试将我们刚才写的”hello hexo”部署到服务器


hexo clean
hexo generate --deploy

访问服务器地址,就可以看到我们写的文章”Hello hexo”,以后写文章只需要:


hexo new "Blog article name"
···写文章
hexo clean && hexo generate --deploy

博客就更新咯!~


云服务器ECS地址:阿里云·云小站

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
固态存储 安全 程序员
搭建程序员个人博客网站的服务器配置怎么选?
搭建个人博客网站时,合理选择服务器配置至关重要。推荐1核CPU、2GiB内存、SSD硬盘及2M-10M带宽,适合大多数个人博客。操作系统方面,Linux更为经济高效。建议选择如阿里云等知名云服务商,同时考虑服务器的可扩展性和安全性,确保网站稳定运行与良好体验。
|
1月前
|
运维 安全 Linux
怎么使用云服务器搭建个人博客网站
使用云服务器搭建个人博客网站是一个涉及多个步骤的过程,包括购买云服务器、域名注册和备案、环境配置、安装博客系统、部署SSL证书以及网站上线和维护。通过选择合适的云服务提供商(如阿里云、腾讯云等),配置服务器,安装宝塔面板,选择合适的博客程序(如Typecho、WordPress等),并确保安全措施到位,您可以成功搭建并运行自己的个人博客网站。
|
1月前
|
域名解析 网络协议 数据安全/隐私保护
阿里云轻量应用服务器搭建WordPress个人博客教程
阿里云轻量应用服务器搭建WordPress个人博客教程
|
1月前
|
域名解析 弹性计算 程序员
想要轻松地搭建一个即开即用的WordPress博客吗?借助宝塔面板镜像+阿里云ECS,迅速拥有自己的个人博客
拥有个人博客是每位程序员的梦想,但对服务器不熟悉的初学者而言,搭建博客颇具挑战。本文介绍利用阿里云市场的宝塔面板镜像与ECS云服务器,轻松搭建WordPress博客的方法,让您快速拥有专属博客空间。通过简单的操作步骤,即使是新手也能轻松上手,实现从零到有的博客搭建过程。
164 3
|
6月前
|
域名解析 弹性计算 数据安全/隐私保护
阿里云ECS免费搭建WordPress个人博客网站
阿里云ECS免费搭建WordPress个人博客网站
706 2
阿里云ECS免费搭建WordPress个人博客网站
|
4月前
|
关系型数据库 Linux 数据库
如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?
本文指导用户如何在Linux服务器上使用Docker Compose部署Halo博客系统。首先确保拥有Linux服务器并安装Docker及Docker Compose。接着创建文件夹(例如`~/halo`),用于存放所有Halo相关数据。可以选择不同的Halo Docker镜像源,推荐使用具体版本而非`latest`标签以避免误操作。示例中提供了三种`docker-compose.yaml`配置方法:Halo+PostgreSQL、Halo+MySQL以及使用默认的H2数据库。每种配置都包括网络设置、健康检查和环境变量。
217 1
|
6月前
|
弹性计算 运维 负载均衡
阿里云轻量应用服务器产品简介、收费标准与活动价格、搭建个人博客教程参考
阿里云轻量应用服务器是深受个人和普通企业用户亲耐的一款轻量级云服务器产品,提供精品应用一键部署,支持一站式的域名、网站、安全、运维、应用管理等服务,极大优化搭建简单应用的体验,降低了入门级用户使用云计算产品的门槛。本文来介绍全方位介绍一下阿里云轻量应用服务器的产品知识,以及最新的收费标准与活动价格情况,另外再奉上使用轻量应用服务器搭建个人博客的建站教程,以供参考。
阿里云轻量应用服务器产品简介、收费标准与活动价格、搭建个人博客教程参考
|
6月前
|
存储 前端开发 搜索推荐
在自己的服务器上部署个人博客和开源项目:实现数字存在感
在自己的服务器上部署个人博客和开源项目:实现数字存在感
|
数据库 容器
本地电脑搭建web服务器、个人博客网站并发布公网访问 【无公网IP】(1)
本地电脑搭建web服务器、个人博客网站并发布公网访问 【无公网IP】(1)
312 0
|
6月前
|
弹性计算 关系型数据库 应用服务中间件
大咖与小白的日常:手把手教你在阿里云ECS上搭建个人博客
小白的玩摄影的男朋友要做毕业设计,小白想给他搭建一个线上个人展厅。大咖推荐了ECS+WordPress,超快上手!
178 5
大咖与小白的日常:手把手教你在阿里云ECS上搭建个人博客