1. 安装nodejs

按照官网来:

2. 配置Nginx代理

  • hexo 默认 4000 端口,可以直接改成 80 端口,但是这样直接把 Hexo 服务暴露给用户,并不恰当。更好的办法是使用 Nginx 做代理。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
创建 Nginx 配置文件:
1 $ vi /etc/nginx/conf.d/blog.conf
2
3 server {
4 listen 80;
5 server_name <VPS-IP>;
6
7 location / {
8 proxy_pass http://localhost:4000;
9 }
10
11 access_log /var/log/nginx/blog.access.log;
12 error_log /var/log/nginx/blog.error.log;
13 }

  • nginx -t

  • nginx -s reload

3.hexo配置

  • $ hexo init [folder]

    新建一个网站。如果没有设置 folder ,Hexo 默认在目前的文件夹建立网站

  • $ hexo new “post title with whitespace” #

  • hexo new page –path about/me “About me”

    以上命令会创建一个 source/about/me.md 文件,title 为 “About me”

    注意!title 是必须指定的!如果你这么做并不能达到你的目的:

    hexo new page –path about/me

    此时 Hexo 会创建 source/_posts/about/me.md,同时 me.md 的 Front Matter 中的 title 为 “page”。这是因为在上述命令中,hexo-cli 将 page 视为指定文章的标题、并采用默认的 layout

  • $ hexo generate 生成静态文件。

  • hexo s & #开启服务,默认端口4000

  • hexo clean 清除缓存文件和静态文件

  • hexo list 列出网站数据

4. 配置hexo自启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sudo vi /lib/systemd/system/hexo.service

##############################################
[Unit]
Description=Hexo website

[Service]
WorkingDirectory=/home/jiao/test_hexo
ExecStart=/home/jiao/.nvm/versions/node/v20.14.0/bin/node /home/jiao/.nvm/versions/node/v20.14.0/lib/node_modules/hexo-cli/bin/hexo s #需要加node
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=hexo
User=root
Group=root
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target

############################################
sudo systemctl daemon-reload
sudo systemctl enable hexo
sudo systemctl start hexo
sudo systemctl status hexo

5. 自定义设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vi ./node_modules/hexo-theme-landscape/layout/_partial/footer.ejs
<%= __('powered_by') %> <a href="https://beian.miit.gov.cn/" target="_blank"> 沪IC* </a>

vi ./node_modules/hexo-theme-landscape/languages/zh-CN.yml
powered_by: 网站备案信息:

Hexo clean
Hexo g
Hexo s &
Disown %1
#替换banner
vi ./node_modules/hexo-theme-landscape/_config.yml
/home/*/test_hexo/node_modules/hexo-theme-landscape/source/css/images
banner.jpg