Linux部署博客避坑小记

1.9k words

环境配置问题(云端)

CentOs相关

  • CentOs 7

使用yum报错

1
2
3
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"

CentOS 7 的官方仓库在 2024 年 6 月 30 日之后已经停止维护,出现这个错误是因为使用的 CentOS 7 仓库已经被归档,当前的镜像地址无法找到所需的文件。

解决方法

  1. 迁移到替代的操作系统
  2. 切换操作系统的源
    解决方案参考

Tomcat相关

  • JDK 1.8
  • Tomcat 10

启动Tomcat出现Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED

Tomcat 10尝试使用–add-opens参数,而此参数仅支持Jdk9以上版本

解决方法

  1. 升级Jdk版本

  2. 改用Tomcat 9以下版本


nodejs相关

  • CentOs 7
  • nodejs 18

使用nodenpm出现下面报错

1
2
3
4
5
6
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)

从nodejs 18开始,都需要GLIBC_2.28支持,而系统(CentOs7)中没有

解决方法

  1. 更新glibc
    解决方案参考

  2. 改用低版本nodejs


Web服务器配置问题

nginx

403 Forbidden

可能的情况

  1. 权限配置不正确
    需要路径上所有父目录的可执行权限(x),
    目标文件或文件夹的可读权限(r)

  2. 目录位置,index索引错误,或目录为空
    检查目录路径是否正确


git配置问题

Permission denied

Git push error:Unable to unlink old(Permission denied)
需要路径上所有父目录的可执行权限(x),
目标文件或文件夹的可写权限(w)


环境配置问题(本地)

Hexo相关

node版本问题

  • hexo
  • nodejs

使用hexo相关命令时报错

1
ERROR Script load failed: node_modules\hexo-theme-vivia\scripts\color-generate.js

报错在依次执行下面操作时出现

  1. 安装node
  2. 安装hexo
  3. 使用nvm切换node版本

解决方法

  1. 切回安装hexo时的node版本


依赖下载问题

npm

npm下载速度慢

解决方法

  1. 安装cnpm
    npm install -g cnpm --registry=http://registry.npmmirror.com

npm报错

npm ERR!Cannot read properties of null

有时候cnpm没有正确下载依赖,报错如下

1
ERROR Script load failed: node_modules\hexo-theme-vivia\scripts\color-generate.js Error: Cannot find module 'js-yaml'

问题发生在以下几种情况

  • 先使用cnpm install,再npm install
  • 先使用pnpm install,再npm install
  • 先使用pnpm install,再npm uninstall

解决方法

  1. 移除node_modules文件夹并重新运行npm install