Nodebb 安装完成后, 却无法上传头像\图片, 会报500错误.
-
问题描述
安装完nodebb, 发现能运行\发帖. 但是只要上传图片\头像 就会出现错误. 重新安装,各种办法尝试依旧不行.
问题原因
- sharp没有安装成功,
- 如果你使用的是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端口,不知道如何解决
-
@root 在 Nodebb 安装完成后, 却无法上传头像\图片, 会报500错误. 中说:
但是已经缓存了,但是网站换成80端口没事,但是我80端口已经占用想4567端口,不知道如何解决
你的问题是要更换nginx的端口号吧
可以参考这里 : https://blog.csdn.net/dataiyangu/article/details/100140430
更多推荐主题
-
Nodebb 中文文档
分享创造 • • icewing -
JavaScript 闭包
综合讨论 • • icewing