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

阿里云的OSS对象存储

Linux下搭建一个nginx+2tomcat负载均衡环境

Linux下搭建一个nginx+2tomcat负载均衡环境(转)

java项目怎么部署到linux服务器啊?

Web服务器群集——部署Java项目,实现Nginx反向代理Tomcat服务器