前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hexo 搭建简约的个人博客并部署到云服务器

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

作者头像
用户2870857
发布2019-12-23 16:12:09
1.6K0
发布2019-12-23 16:12:09
举报
文章被收录于专栏:Python高效编程

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

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

环境简介

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

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

Markdwon 写作工具 vscode 以及 typora

博客首页

安装

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

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install nodejs
sudo apt-get npm

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

代码语言:javascript
复制
npm install -g hexo

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

代码语言:javascript
复制
mkdir blog
cd blog
hexo init

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

代码语言:javascript
复制
hexo g # 生成文件
hexo s # 运行服务

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

代码语言:javascript
复制
ip地址:4000

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

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

代码语言:javascript
复制
cd themes
git clone git@github.com:forsigner/fexo.git fexo

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

代码语言:javascript
复制
theme: fexo

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

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

样式优化

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

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

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

代码语言:javascript
复制
# 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 反向代理。

代码语言:javascript
复制
# 安装 nginx
sudo apt-get install nginx

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

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

代码语言:javascript
复制
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 的字样都需要改成你的域名。

代码语言:javascript
复制
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 在后台运行。

代码语言:javascript
复制
hexo s &

如果要关闭后台进程

代码语言:javascript
复制
kill -s 9 `ps -e|grep hexo|awk '{print $1}'`

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python高效编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境简介
  • 安装
  • 样式优化
相关产品与服务
ICP备案
在中华人民共和国境内从事互联网信息服务的网站或APP主办者,应当依法履行备案手续。腾讯云为您提供高效便捷的 ICP 备案服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档