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可以写入:

  

[root@VM_0_5_centos default]# ls -l /data/wwwroot/default/static/ #查看目录权限total 4drwxr-xr-x 3 root root 4096 Dec 15 17:56 yia

  发现other是没有写入权限的,所以需要给other写入权限:

[root@VM_0_5_centos default]# chmod o+w /data/wwwroot/default/static/ -R #-R表示递归设置[root@VM_0_5_centos default]# ls -l /data/wwwroot/default/static/total 4drwxr-xrwx 3 root root 4096 Dec 15 17:56 yian

  至此则可以解决nginx+tomcat动静分离环境下文件上传与访问的一些问题,但是感觉有点low啊(╯°Д°)╯︵┻━┻

二、方法二:配置nginx服务器,达到一次配置,多次复用的效果

  且听下回分解

相关文章