nginx+tomcat环境下,web项目文件上传问题(未完待续)
Posted libinkai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx+tomcat环境下,web项目文件上传问题(未完待续)相关的知识,希望对你有一定的参考价值。
最近我把自己的服务器换成centos,利用nginx做服务器实现动静分离,觉得项目响应的速度明显提高了(一周之前还是Windows服务器+纯tomcat结构,慢惨了T_T),以前都是用tomcat做服务器,用了nginx之后,处理文件上传及访问时就出了问题——因为我之前都是把文件保存到该web项目的目录(tomcat中)下,而nginx访问的是自己的目录(我的是/data/wwwroot/default/),所以文件可以上传但是无法通过nginx访问,因为tomcat与nginx是两台不同的服务器,如果不经过配置,资源是无法共享的。下面介绍这个问题的解决方法:
一、方法一:把文件直接上传到nginx的目录下,即可通过nginx直接访问
首先要明确的是,外部通过nginx访问nginx服务器下的静态资源时,只能访问其子目录下的文件,所以我在/data/wwwroot/default/下新建了一个static目录,用来保存文件,接着就是项目名(我的为yian),最后是用于不同用途的文件夹(我的为audit),那么我只要把文件上传到/data/wwwroot/default/static/yian/audit/目录下,外部即可访问:
通过域名加上/static/yian/audit/test.png即可访问资源:
这种方法要注意的是,需要给www用户权限,也就是更改/data/wwwroot/default/static/目录下的权限,让other可以写入:
[[email protected]_0_5_centos default]# ls -l /data/wwwroot/default/static/ #查看目录权限 total 4 drwxr-xr-x 3 root root 4096 Dec 15 17:56 yia
发现other是没有写入权限的,所以需要给other写入权限:
[[email protected]_0_5_centos default]# chmod o+w /data/wwwroot/default/static/ -R #-R表示递归设置 [[email protected]_0_5_centos default]# ls -l /data/wwwroot/default/static/ total 4 drwxr-xrwx 3 root root 4096 Dec 15 17:56 yian
至此则可以解决nginx+tomcat动静分离环境下文件上传与访问的一些问题,但是感觉有点low啊(╯°Д°)╯︵┻━┻
二、方法二:配置nginx服务器,达到一次配置,多次复用的效果
且听下回分解
以上是关于nginx+tomcat环境下,web项目文件上传问题(未完待续)的主要内容,如果未能解决你的问题,请参考以下文章
Linux Ubuntu部署web环境及项目tomcat+jdk+mysql