hexo 搭建简约的个人博客并部署到云服务器

使用 hexo 搭建一个简约的个人博客并部署到云服务器上。

https://tea.nim-cn.com/archives/

环境简介

我使用的是 ubuntu 系统,使用的是阿里云的服务器,域名是已经备案的 Nim 中文社区 官网的子域名。

远程连接使用的 xshell 以及 vscode ssh,文件传输使用的是 xftp

Markdwon 写作工具 vscode 以及 typora

博客首页

6fa47c9d23dba59e63120eb6b8ba30b2.jpeg

安装

由于 hexo 是基于 nodejs 的框架,首先,我们需要安装 nodejs 以及包管理器 npm

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get npm

接着,我们就可以使用 npm 安装 hexo

npm install -g hexo

确认安装无误之后,我们新建一个 blog 文件夹(随意命名),然后切换到 blog 文件夹下面。然后使用 hexo init 初始化文件夹。

mkdir blog
cd blog
hexo init

接下来,我们使用 hexo g 来生成文件,hexo s 来运行服务。

hexo g # 生成文件
hexo s # 运行服务

hexo 的默认端口是 4000,我们在浏览器中输入云服务器的 ip 地址加上端口号,就可以预览博客了。

ip地址:4000

我们可以看到,系统默认的主题,以及默认的博客。默认的主题,很可能不满足我们的使用需求。这时候,我们可以下载第三方主题。我下载的是 fexo

我们切换到 blog\themes 文件中,并执行命令
git clone git@github.com:forsigner/fexo.git fexo ,确保自己已经安装了 git

cd themes
git clone git@github.com:forsigner/fexo.git fexo

这时候,我们需要修改 blog/_config.yml ,找到 theme 这个属性,修改往 theme: fexo,需要注意需要使用英文字符冒号,以及冒号与主题之间要有一个空格。

theme: fexo

这时候,我们执行 hexo ghexo s,并访问端口,可以发现主题已经变成了 fexo 的样式。

如果,我们需要添加博客,可以通过 xftp 直接将文章推拽到 blog/source/_posts 这一个文件中,再重新通过 hexo g 生成 html 文件。

样式优化

我们可以调整 blog/themes/fexo/_config.yml 中的配置来满足我们的使用需求。

我主要是删除了一些我不需要的设置。

为了 seo 优化,可以更改关键字等信息

# Site
title: Nim 早茶
subtitle: Nim 语言博客
description: Nim 编程的知识点
keywords: nim ,nim-lang, nim中文, nim中文社区, nim早茶, 编程语言, nim编程语言, 编程, 极客, Python 
author: Nim 中文社区
language: zh-CN
timezone: ''

接下来,我们使用阿里云提供的DNS 解析,将域名绑定到我们的服务器上。由于阿里云默认不提供 4000 端口,我们可以使用 nginx 反向代理。

# 安装 nginx
sudo apt-get install nginx

接下来在 /etc/nginx/sites-available/ 文件夹下面创建一个 域名 的快捷服务,比如说我的域名是 tea.nim-cn.com,我创建的快捷服务就是 tea.nim-cn.com

编辑这个文件,写入以下内容,注意 server_name 需要改成你的域名。

server {
        server_name tea.nim-cn.com;
        autoindex off;

        location / {
                proxy_pass http://localhost:4000;
                proxy_set_header Host $host;
                proxy_set_header X-Real_IP $remote_addr;
        }
}

接下来执行以下命令,凡是出现 tea.nim-cn.com 的字样都需要改成你的域名。

ln -s /etc/nginx/sites-available/tea.nim-cn.com 
/etc/nginx/sites-enabled/tea.nim-cn.com

接下来执行 sudo nginx -s reload,反向代理就配置完成了。现在我们可以在浏览器中直接输入域名来访问我们的博客。

最后,为了使得我们的博客在我们退出 ssh 连接之后仍然可以访问,我们可以使用 hexo s & 使得 hexo 在后台运行。

hexo s &

如果要关闭后台进程

kill -s 9 `ps -e|grep hexo|awk '{print $1}'`

我的个人博客主页,点击阅读原文,访问博客。

https://tea.nim-cn.com/。

<think>好的,用户想了解如何使用Hexo搭建博客部署到阿里云服务器。首先,我需要整理整个流程,确保步骤清晰,用户能一步步跟着操作。 首先,Hexo是基于Node.js的,所以需要先安装Node.js和Git。这两个是基础环境,用户可能已经安装过,但最好还是提醒他们检查版本,确保兼容性。安装完成后,通过npm安装Hexo-cli,然后初始化项目,这应该是搭建本地博客的第一步。 接下来,生成静态文件和启动本地服务器是常规操作,用户需要验证本地是否运行正常。这时候可能会遇到主题或插件的问题,但用户的问题主要集中在部署,所以这部分可能不需要深入,除非用户后续提问。 然后是部署到阿里云的部分。用户需要准备阿里云服务器,这里要提到安全组的设置,开放80、443和22端口,这是关键,否则无法访问。接着在服务器上安装必要的软件,如Git、Nginx和Node.js,确保环境配置正确。 创建Git仓库和配置钩子文件是关键步骤。通过初始化裸仓库,配置post-receive钩子,实现自动同步到网站目录。这里可能需要处理权限问题,用户需要注意目录的所有权和执行权限。 本地Hexo配置部分,需要修改_config.yml文件,添加部署器配置,设置服务器的IP和仓库路径。同时安装hexo-deployer-git插件,这样才能通过hexo d命令推送代码。 最后,生成和部署,清理缓存,确保文件更新。部署成功后,配置Nginx指向网站目录,这样用户才能通过域名或IP访问博客。可能还需要提醒用户绑定域名和配置SSL,但用户的问题可能暂时不需要这部分,不过可以作为优化建议提到。 在引用参考资料时,要确保正确对应。例如,引用[3]提到创建Git仓库,引用[4]涉及部署命令。需要检查每个步骤是否有对应的引用支持,避免错误。 用户可能遇到的问题包括权限设置、端口未开放、钩子脚本执行失败等,但问题中没有提到具体错误,所以回答中先给出标准流程,后续可以建议查看日志或排查这些常见问题。 总结来说,流程分为本地环境搭建服务器配置、Hexo部署设置、部署和验证几个大步骤,每个步骤需要明确命令和配置,确保用户能一步步操作。同时,相关问题可以引导用户进一步了解优化和自动化部署,比如使用CI/CD工具或配置HTTPS,提升博客的安全性和访问速度。</think>### Hexo 博客搭建部署至阿里云服务器完整流程 --- #### **一、本地环境搭建** 1. **安装 Node.js 和 Git** - 下载 Node.js(含 npm)[官网](https://nodejs.org)安装,验证安装: ```bash node -v # 查看Node.js版本 npm -v # 查看npm版本 ``` - 下载 Git [官网](https://git-scm.com)安装,验证安装: ```bash git --version ``` 2. **安装 Hexo** 通过 npm 全局安装 Hexo 命令行工具: ```bash npm install -g hexo-cli ``` 3. **初始化 Hexo 项目** 创建博客目录初始化: ```bash hexo init myblog # 初始化项目 cd myblog # 进入项目目录 npm install # 安装依赖 ``` 4. **本地运行测试** 生成静态文件启动本地服务器: ```bash hexo generate # 或 hexo g hexo server # 或 hexo s ``` 访问 `http://localhost:4000` 查看效果。 --- #### **二、阿里云服务器配置** 1. **服务器基础设置** - 登录阿里云控制台,进入ECS实例,确保安全组开放以下端口: - **80(HTTP)**、**443(HTTPS)**、**22(SSH)** [^1] - 通过 SSH 连接服务器: ```bash ssh root@your_server_ip # 替换为实际IP ``` 2. **安装必要软件** ```bash apt update apt install git nginx nodejs -y # 安装Git、Nginx、Node.js ``` 3. **创建网站目录与Git仓库** - 创建网站根目录: ```bash mkdir -p /var/www/hexo chown -R $USER:$USER /var/www/hexo # 设置用户权限 ``` - 初始化 Git 裸仓库: ```bash mkdir ~/hexo.git && cd ~/hexo.git git init --bare # 创建裸仓库用于接收推送[^3] ``` 4. **配置 Git 钩子(Hooks)** 创建 `post-receive` 钩子脚本: ```bash vim ~/hexo.git/hooks/post-receive ``` 添加以下内容: ```bash #!/bin/bash git --work-tree=/var/www/hexo --git-dir=~/hexo.git checkout -f ``` 赋予脚本执行权限: ```bash chmod +x ~/hexo.git/hooks/post-receive ``` --- #### **三、本地 Hexo 部署配置** 1. **修改 Hexo 配置文件** 编辑 `_config.yml`,添加部署配置: ```yaml deploy: type: git repo: root@your_server_ip:~/hexo.git # 替换为服务器IP branch: master ``` 2. **安装部署插件** ```bash npm install hexo-deployer-git --save ``` --- #### **四、生成部署服务器** 1. **生成静态文件推送** ```bash hexo clean # 清理缓存[^4] hexo generate hexo deploy # 或 hexo d ``` 2. **配置 Nginx 指向网站目录** 编辑 Nginx 配置文件: ```bash vim /etc/nginx/sites-available/default ``` 修改 `root` 路径: ```nginx server { listen 80; root /var/www/hexo; # 指定网站目录 index index.html; } ``` 重启 Nginx: ```bash systemctl restart nginx ``` 3. **访问博客** 通过浏览器输入服务器 IP 或域名即可访问。 --- #### **五、后续维护** - **更新内容**:本地修改后,重新执行 `hexo clean && hexo g -d` 即可自动部署。 - **备份源码**:将 Hexo 项目源码推送至私有 Git 仓库(如 GitHub),防止丢失。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值