Nodebb 安装完成后, 却无法上传头像\图片, 会报500错误.



  • 问题描述

    安装完nodebb, 发现能运行\发帖. 但是只要上传图片\头像 就会出现错误. 重新安装,各种办法尝试依旧不行.

    问题原因

    1. sharp没有安装成功,
    2. 如果你使用的是centos, 请一定要先做准备工作. 准备工作见底部.

    sharp安装失败的原因 :
    安装过程中会依赖“libvips”, sharp应该是处理图片的, 而libvips是sharp的底层. libvips安装不上, 没办法处理我们上传的图片就会报错.

    解决办法

    • 思路就是手动下载, 将需要的libvips包手动下载放到npm的缓存里面. 用的时候使用缓存的包, 避免从网络下载.
      我当前的系统为ubuntu, 所以以下示例返回结果都是ubuntu的结果.

    1.进入项目node_modules文件夹, 找到sharp模块, 打开进入编辑packag.json文件. 找到当前所需要的libvips版本.我这里是8.9.0

    2.进入 https://github.com/lovell/sharp-libvips/releases 中找到并下载对应的版本. (libvips-8.9.0-linux-x64.tar.gz)

    3.返回服务器查看 npm-cache 的目录

    npm config get cache 
    
    # ubuntu中返回如下
    /root/.npm
    

    4.进入/root/.npm中可以查看到_libvips文件夹, 将下载好的libvips放到这里. (注意: 所有者要为root)

    5.接下来重新执行命令即可.

    libvips-8.9.0-linux-x64.tar.gz的下载链接
    链接: https://pan.baidu.com/s/1llSP7DCjJIOwIhGjULUNTQ 提取码: fmw8


    centos准备工作

    1.关闭 SELinux

    有些主机商给你的 CentOS 可能不存在下面那个文件,那你可以直接跳过这步。

    $ sudo vim /etc/sysconfig/selinux
    $ sudo yum install vim # 如果 vim 指令未安装,那就安装它
    
    • 找到 SELINUX 然后修改成 disabled
    SELINUX = disabled
    

    2.更新系统并安装基础工具

    $ sudo yum update
    $ sudo yum -y install epel-release
    $ sudo yum -y groupinstall "Development Tools"
    $ sudo yum -y install git ImageMagick ImageMagick-devel
    


  • hello 👍

    正在加载哔哩哔哩视频中,少侠请稍等片刻

    asdasdsad



  • 但是已经缓存了,但是网站换成80端口没事,但是我80端口已经占用想4567端口,不知道如何解决



  • @rootNodebb 安装完成后, 却无法上传头像\图片, 会报500错误. 中说:

    但是已经缓存了,但是网站换成80端口没事,但是我80端口已经占用想4567端口,不知道如何解决

    🤔 你的问题是要更换nginx的端口号吧

    可以参考这里 : https://blog.csdn.net/dataiyangu/article/details/100140430


Log in to reply
 

更多推荐主题