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 4 drwxr-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/ total4 drwxr-xrwx 3 root root 4096 Dec 15 17:56 yian
至此則可以解決nginx+tomcat動靜分離環境下文件上傳與訪問的一些問題,但是感覺有點low啊(╯°Д°)╯︵┻━┻
二、方法二:配置nginx服務器,達到一次配置,多次復用的效果
且聽下回分解
nginx+tomcat環境下,web項目文件上傳問題(未完待續)