nginx 无法访问图片问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 无法访问图片问题相关的知识,希望对你有一定的参考价值。

配置完以后在本机可以显示图片
但是在别的机子上访问我的机子项目时却不能访问到图片,求大神解释

参考技术A 看的出来这是编码集不一致,改一下编码就可以了追问

怎么改,哪里改,是在我本机的这改什么东西吗

追答

具体的要看代码,我不清楚你的代码是怎么写的;图片不显示,只能说明你上传的图片名称是中文显示的,所以上传成功后才不显示

追问

但是我在本机上做的可以显示啊,图片也缓存在了本机上,而用别的机器访问我这台机子就看不了图片了

nginx+gridfs+mongodb 配置访问png图片显示无法加载问题

上传文件后,浏览器中请求:http://&lt;nginx server ip>:<port>/gfs/<my file> 浏览器出现“无法打开页面”的错误,查看错误日志,http error code 500。error.log中显示:
malloc(18446744056529682432) failed (12: Cannot allocate memory), client: <Client IP>, server: localhost, request: "GET /gfs/test2.zip HTTP/1.1", host: "<Nginx server IP>"

但是查看访问请求是成功的 get请求返回200,怎么也想不通,想着nginx配置文件也没问题呀,mongo数据库也能看到图片

于是又捋了下流程,首先用的是nginx1.47的版本,mongo-3.2版本

还有mongo和nginx启动顺序也有先后的,先启动mongo后启动nginx,因为nginx在启动的时候要找mongo,也按照这种方法做了,还是报无法加载图片

于是各种百度,发现原来副本集配置需要在nginx中写上所有的主机地址

nginx副本集的配置:
location /static/ {
         gridfs ebook;
                field=filename
                type=string;
         mongo "foo"

            192.168.1.60:27017
            192.168.1.61:27017
            192.168.1.62:27017;

}

对,没错儿!  nginx中的副本集中就是这样写的。

配置说明

gridfs 表示告诉nginx服务器要调用gridfs模块

root_collection= 指定Gridfs collection的前缀. 默认: fs

field= 指定用于查询的字段 可以是 _id 和 filename. 默认: _id

type= 指定查询的类型,这里支持 objectid, string 和int. 默认: objectid

user= 指定数据库的用户名. 默认: NULL

pass= 指定数据库的密码. 默认: NULL

 









以上是关于nginx 无法访问图片问题的主要内容,如果未能解决你的问题,请参考以下文章

nginx访问css js 图片等静态资源,报404或无法定向访问到

虚拟机中的jenkins无法访问&Nginx配置

一个因pid文件丢失,nginx的进程起不来,网站页面无法访问的故事

linux部署的nginx,mp4文件无法访问的问题

nginx非80端口配置 外网无法访问

nginx非80端口配置 外网无法访问