如何在 Ubuntu 20.04 上使用 Hexo 安装和创建博客

如何在 Ubuntu 20.04 上使用 Hexo 安装和创建博客
如何在 Ubuntu 20.04 上使用 Hexo 安装和创建博客

今天我们来介绍一下在 Ubuntu 20.04 上,如何使用 Hexo 安装和创建博客。Hexo 是一个基于 Node.js 的静态博客平台。借助于 hexo ,我们可以用 Markdown 编辑器撰写文章。它借助预先构建的主题将博客文章转换为静态 HTML 文件。hexo 与其他博客平台不同,因为它使用静态文件而不是动态加载。所以,在这里我们将介绍如何在 Ubuntu 20.04 系统上安装 hexo 。

第一步:更新系统

更新系统以安装更新:

sudo apt update -y
sudo apt upgrade -y

然后,安装所需的包:

sudo apt install git 
git config --global user.name "Your Name" 
git config --global user.email " youremail@domain.com "

注意:替换成自己的 git 用户名、电子邮件和域名。

第二步:在 Ubuntu 20.04 上配置防火墙

启用 SSH 端口允许防火墙访问。如果是第一次安装,请不要忘记启用防火墙。

sudo ufw enable

然后开启4000端口:

sudo ufw allow 4000

确保允许 http、https 流量, 然后验证防火墙的状态。

sudo ufw allow http
sudo ufw allow https
sudo ufw status

output:

  sabi@Ubuntu20:~$ sudo ufw status
  Status: active
  To                         Action      From
  --                         ------      ----
  4000                       ALLOW       Anywhere                  
  80/tcp                     ALLOW       Anywhere                  
  443/tcp                    ALLOW       Anywhere                  
  4000 (v6)                  ALLOW       Anywhere (v6)             
  80/tcp (v6)                ALLOW       Anywhere (v6)             
  443/tcp (v6)               ALLOW       Anywhere (v6)             
  sabi@Ubuntu20:~$ 

第三步:在 Ubuntu 20.04 上安装 Node.js

使用下面的命令在 Ubuntu 20.04 上安装 node.js 。

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt install nodejs

验证安装的版本:

node --version

第四步:在 Ubuntu 20.04 上安装 Hexo

执行以下命令以在 Ubuntu 20.04 上安装 Hexo

sudo npm install hexo-cli -g

安装后,创建一个新目录来安装 Hexo

sudo mkdir -p /var/www/hexo

给它适当的权限:

sudo chown -R $USER:$USER /var/www/hexo
sudo chmod -R 755 /var/www/hexo

现在切换到 hexo 目录并初始化它。

cd /var/www/hexo 
hexo init
INFO  Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
INFO  Install dependencies
added 185 packages from 430 contributors and audited 191 packages in 6.47s
14 packages are looking for funding
run npm fund for details
found 0 vulnerabilities
INFO  Start blogging with Hexo!

最后,执行下面的命令安装 hexo

npm install

第五步:在 Ubuntu 20.04 上配置 Hexo

编辑 _config.yml 文件:

sudo nano _config.yml

然后,根据需要更改选项的名称:

Hexo Configuration
 Docs: https://hexo.io/docs/configuration.html
 Source: https://github.com/hexojs/hexo/
 #Site
  title: Hexo
  subtitle: ''
  description: ''
  keywords:
  author: sabi
  language: en
  timezone: ''
  #URL
  If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/'
  url: http://example.com
  root: /
  permalink: :year/:month/:day/:title/
  permalink_defaults:
  pretty_urls:
    trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
    trailing_html: true # Set to false to remove trailing '.html' from permalinks

注意:配置域名、URL、站点标题和其他必需选项并再做二次更改。

  • default_layout 值从帖子更改为草稿。
  • post_asset_folder 变量更改为 true。

第六步:安装博客主题

由于 hexo 带有默认主题,可以通过 hexo 主题页面更改成自己喜欢的主题。

在这里,我们将安装 Next 主题进行测试。切换到 /var/www/hexo/ 目录并下载主题:

cd /var/www/hexo 
git clone https://github.com/theme-next/hexo-theme-next themes/next

下载后,编辑 _config.yml 以更新主题。

sudo nano _config.yml

更改主题变量以安装新主题:

Extensions
 Plugins: https://hexo.io/plugins/
 Themes: https://hexo.io/themes/
 theme: next

为了更新主题设置,要配置/var/www/hexo/themes/next/_config.yml 文件。

第七步:创建第一篇文章

执行下面的命令来创建第一篇文章。

hexo new first-post
 INFO Validating config
 INFO Created: /var/www/hexo/source/_drafts/first-post.md

创建后,触发以下命令以编辑新文章。

sudo nano ./source/_drafts/first-post.md

每个帖子都有自己的前台页面。它由标题、发布日期、类别、标签等组成。使用实际信息更新对应内容。

title: sabi's First Post
  tags:
  test
  categories:
  Hexo
  comments: true 
  date: 2021-01-02 00:00:00
  Markdown goes here.
 This is our first post!

要在文章中放置图像,请在文章中添加以下命令。

{% asset_img "example.jpg" "This is an example image" %}

注意:将 example.jpg 替换为实际的图像名称,然后将该文件复制到 \source_posts\first-pos t 目录。

保存并退出文件。

最后通过键入发布帖子:

hexo publish first-post

第八步:为 Hexo 安装插件

从 hexo 插件页面获取 hexo 的插件。可以根据自己的需要安装插件。

cd /var/www/hexo 
npm i hexo-filter-nofollow --save

然后编辑下面的文件

sudo nano _config.yml

在上述文件的末尾添加以下几行。

nofollow:
 enable: true
 field: site
 exclude:
 'exclude1.com'
 'exclude2.com
 enable: To activate the plugin.
 field: Explain the scope of the plugin.
 exclude: To exclude domains for nofollow links. 

第九步:测试 Hexo 服务器

执行以下命令来测试 hexo 服务器。

hexo server

然后在浏览器中输入 IP:4000,将看到之前创建的文章的欢迎页面。

只需按 Ctrl+C 即可停止。

第十步:生成 Hexo 静态文件

点击以下命令生成静态文件

hexo generate

这些文件可以在 /var/www/hexo/public 找到。接下来安装 Nginx。

执行下面命令来安装 nginx:

sudo apt install nginx

编辑 hexo 配置文件

sudo nano /etc/nginx/sites-available/hexo.conf

然后将以下内容添加到配置文件中:

server {
      server_name hexo.example.com;
 root /var/www/hexo/public; 
 index index.html index.htm; 
 listen 443 ssl http2; listen [::]:443 ssl http2; 
 ssl_certificate /etc/letsencrypt/live/hexo.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/hexo.example.com/privkey.pem; 
 ssl_protocols TLSv1.2 TLSv1.3;
 ssl_session_timeout 1d; 
 ssl_session_cache shared:MozSSL:10m;  
 about 40000 sessions ssl_session_tickets off;
 ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES25>             ssl_prefer_server_ciphers off; 
 ssl_dhparam /etc/ssl/certs/dhparam.pem; 
 location / { 
     try_files $uri $uri/ =404; 
 }
  }
  server {
      if ($host = hexo.example.com) {
          return 301 https://$host$request_uri;
      }
      server_name hexo.example.com;
      listen 80;
      listen [::]:80;
      return 404;
  }

然后保存并退出文件。

创建配置文件的软链接:

sudo ln -s /etc/nginx/sites-available/hexo.conf /etc/nginx/sites-enabled/

接下来,执行下面的命令来编辑 nginx 配置文件:

sudo nano /etc/nginx/nginx.conf

在 include /etc/nginx/conf.d/*.conf 行之前添加下面的行:

server_names_hash_bucket_size 64;

更新 types_hash_max_size 值(从 2048-4096)

types_hash_max_size 4096;

保存文件并验证语法:

sudo nginx -t

重启nginx:

sudo systemctl restart nginx

第 11 步:为 Hexo 安装 SSL

现在,通过下面的命令安装 certbot :

sudo apt install certbot

点击以下命令生成证书,然后创建 DHParams 证书。

sudo certbot certonly --standalone -d hexo.yourdomain.com --preferred-challenges http --agree-tos -n -m email@yourdomain.com --keep-until-expiring 
 sudo systemctl start nginx 
 sudo openssl dhparam -out / etc/ssl/certs/dhparam.pem 2048

可以在服务器、 git、netlify 和 vercel 等平台上托管 hexo 网站。这就是在 Ubuntu 20.04 上安装和创建 Hexo 博客的方法。

原创文章,作者:牛奇网,如若转载,请注明出处:https://www.niuqi360.com/linux/install-and-create-blog-with-hexo-on-ubuntu-20-04/

发表评论

登录后才能评论