您的位置:首页 > 运维架构 > Tomcat

APP后台上传Nginx+Tomcat服务器后图片可以上传但无法访问问题解决

2016-11-20 23:38 786 查看
首先,得确认Nginx服务正常运行。

其次,图片的确已经正确上传。

然后,可以这样来做来减少调试的时间成本,将要访问的图片的路径粘贴到浏览器上来进行访问测试。

OK。具体操作:

1、一般本地环境能够正常运行,而上到服务器却不行了,可以确认是配置方面的问题。

2、按上面的路径方式访问返回404错误,同时,会显示是Ngnix返回的错误码,一定程度上可以认为是Ngnix配置问题导致的,当然,不排除Tomca可能运行出错,但只要图片的确正确上传了,那么就可以认为是Ngnix在搞事情。

3、因为以前没弄过Ngnix,所以立即百度Ngnix,发现问题要归结到/usr/local/ngnix/conf/ngnix.conf这个配置文件上

4、搞清楚Ngnix.conf的语句意义,写对配置语句。

4.1 图片属于静态资源,此配置文件中有专门的配置项

server {
listen       80 default;
server_name  _;
root   /data/www/default;  //这里是默认值
index index.html index.htm index.jsp;                       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico|svg|htm)$ {
expires 30d;  //配置图片资源的项
}


从这里看,Ngnix默认的配置是不适合我们的后台!

例如,我们的后台服务是放到Tomcat/webapps/中去的,当然这是没有配置虚拟目录映射的情况。那么,此情况下,就必须要修改ngnix.conf来进行适配。

4.2 假设我们的后台图片保存路径为tomcat/webapps/greatwall(后台项目名)/pics/。访问图片的路径为:http://www.*.com/greatwall/pics/123.jpg.那么,首先要将第一个root后面的路径修改为 root /usr/local/tomcat/webapps.然后,在location ~ .*.(gif|jpg|jpeg|png|bmp|swf|flv|ico|svg|htm)$ 下方最好也增加路径 root /usr/local/tomcat/webapps; 另外,如果不想图片被自动清理掉,就设置下expires 30d; 30d表示30天意思。改为off,或删掉。

最后,修改后起作用的conf为:

server {
listen       80 default;
server_name  _;
root    /usr/local/tomcat/webapps;
index index.html index.htm index.jsp;                       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico|svg|htm)$ {
/usr/local/tomcat/webapps;
}


初次接触Ngnix,有不对的地方请不吝指出,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx 服务器 图片
相关文章推荐