Hexo部署至阿里云服务器的问题


写到这里才发现我有多傻。服务器上,貌似只要安装git和Nginx就可以了???

写一下部署的主要步骤吧:

  1. 安装NodeJS
  2. 安装Git
  3. 安装 hexo , hexo-cli, hexo-deploy-git(这里好像在服务器上没有必要?)
  4. 安装Nginx
  5. 新建空仓库,配置用户
  6. 客户端修改hexo文件夹下的配置
  7. Nginx转发到git的静态文件夹中就可以了

多灾多难,瞎几把搞。

因为经历了太多所以说没能太仔细整理。简单记录一下吧。

参考教程:

记录Hexo部署到阿里云服务器全过程-阿里云开发者社区 (aliyun.com)

hexo-theme-matery/README_CN.md

因为不是很会用Linux,所以说搞出了不少幺蛾子,整了大半天。。。

主要包括但不限于以下问题:

  • NodeJS版本过低
  • NodeJS安装编译失败
  • NodeJS链接创建后仍然找不到node命令
  • hexo因为缺少npm组件生成失败
  • 忘了安装hexo-deploy-git和hexo-cli
  • Nginx转发静态资源失败

尝试过:

  • 安装node的未编译版本与编译版本

    • 未编译版本,升级gcc与gcc-c++从版本4到8,仍然编译失败
    • 编译版本,开始用v6.几的版本,然后版本过低, hexo g 命令生成失败
    • 之后改用 v15版本,可能是太新了?又改用稳定版本,v14.17.0,参考官方文档安装,终于成了
      Installation nodejs/help
      主要就是下载,解压,然后添加export语句到 /etc/profile 文件下。之前一堆教程乱七八糟的不知道咋整的,编译失败,创建链接之类的都不管用。
  • 贴一下Nginx配置文件:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    user  root;
    worker_processes 1;


    events {
    worker_connections 1024;
    }


    http {
    include mime.types;
    default_type application/octet-stream;


    #access_log logs/access.log main;

    sendfile on;
    #tcp_nopush on;

    keepalive_timeout 65;


    server {
    listen 80;
    server_name localhost;

    location / {
    root /home/git/projects/blog;
    index index.html index.htm;
    }

    error_page 404 /404.html;


    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    }

    }

    开始出现了403禁止问题,于是改了第一行的user root就可以了。

hexo主题安装的npm组件

1
2
3
4
5
6
7
# 搜索插件
npm install hexo-generator-search --save
# 汉字链接转拼音
npm i hexo-permalink-pinyin --save
# 字数统计
npm i --save hexo-wordcount

最后gcc make的编译失败问题还是没解决,我觉得也是版本的问题。。。。


文章作者: SongX64
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SongX64 !
  目录