将hexo个人博客部署到个人云服务器的方法步骤

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

环境简介

我使用的是 ubuntu 系统,使用的是阿里云服务器ECS,域名是已经备案的

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

Markdwon 写作工具 vscode 以及 typora

博客首页

安装

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

sudo apt-get updatesudo apt-get install nodejssudo apt-get npm

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

npm install -g hexo

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

mkdir blogcd bloghexo 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 themesgit 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 优化,可以更改关键字等信息

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

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

# 安装 nginxsudo 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}'`
(0)

相关推荐