1. 程式人生 > >nginx+tomcat環境下,web項目文件上傳問題(未完待續)

nginx+tomcat環境下,web項目文件上傳問題(未完待續)

chm 技術 無法 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/
total 
4 drwxr-xrwx 3 root root 4096 Dec 15 17:56 yian

  至此則可以解決nginx+tomcat動靜分離環境下文件上傳與訪問的一些問題,但是感覺有點low啊(╯°Д°)╯︵┻━┻

二、方法二:配置nginx服務器,達到一次配置,多次復用的效果

  且聽下回分解

nginx+tomcat環境下,web項目文件上傳問題(未完待續)