tomcat軟連接的使用


  軟連接說白了就是一個映射。可以映射文件,也可以映射目錄。linux和windows都可以做軟連接,加入現在把文件A.txt做軟連接到B.txt:

  linux命令如下:

ln -s A.txt B.txt

  windows命令如下:

mklink B.txt A.txt

 

  建立軟連接的目的是隔離tomcat里目錄或文件,主要是隔離webapps里的項目或者靜態資源文件,以實現部署和維護的方便。在tomcat里context.xml文件里設置allowLinking="true"就可以打開軟連接,根據tomcat版本不同有不同的設置:

  tomcat567版本:

<Context allowLinking="true" /> 

  tomcat89版本:

<Context>
    <Resources allowLinking="true" />
</Context>

  根據context.xml文件的不同位置又有3種設置方法:在conf目錄下修改context.xml,所有在webapps里的項目都支持軟連接;在webapps下項目自己的META-INF里修改context.xml,只有該項目自己支持軟連接;在conf\Catalina\主機名下修改項目名.xml,同樣只有該項目自己支持軟連接。

  針對上面第一種設置方法舉個例子,我在Eclipse配置了一個tomcat9的Server,里面的項目叫Struts2,我要對靜態資源文件index.jsp做軟連接到F盤:

  我第一步就是修改eclipse里面的context.xml,直接在eclipse打開加入<Resources allowLinking="true" />這一行即可:

  然后我要去workspace里Struts2項目里把index.jsp文件移動到F盤根目錄並改名了hello.jsp,在cmd命令行里執行:

mklink index.jsp F:\hello.jsp

 

  最后在eclipse啟動tomcat,我們本來是訪問index.jsp的,現在其實是去F盤訪問了hello.jsp:

 

  再針對上面第三種設置方法舉個例子,現在我想把安裝在D盤的tomcat8自帶的examples項目軟連接到F盤的test目錄中:

1、復制D:\wulinfeng\tomcat\apache-tomcat-8.5.13\webapps\examples到F盤根目錄,改名為test,刪除D盤examples目錄:

 

2、在D:\wulinfeng\tomcat\apache-tomcat-8.5.13\webapps下建立到F:\test的軟連接examples:

D:\wulinfeng\tomcat\apache-tomcat-8.5.13\webapps>mklink examples F:\test
為 examples <<===>> F:\test 創建的符號鏈接

 

3、在D:\wulinfeng\tomcat\apache-tomcat-8.5.13\conf\Catalina\localhost下新建examples.xml,examples.xml內容為:

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <Resources allowLinking="true" />
</Context>

4、在D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin下執行startup.bat,啟動tomcat

D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin>.\startup.bat
Using CATALINA_BASE:   "D:\wulinfeng\tomcat\apache-tomcat-8.5.13"
Using CATALINA_HOME:   "D:\wulinfeng\tomcat\apache-tomcat-8.5.13"
Using CATALINA_TMPDIR: "D:\wulinfeng\tomcat\apache-tomcat-8.5.13\temp"
Using JRE_HOME:        "D:\Program Files\Java\jdk1.8.0_101"
Using CLASSPATH:       "D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin\bootstrap.j
ar;D:\wulinfeng\tomcat\apache-tomcat-8.5.13\bin\tomcat-juli.jar"

5、在瀏覽器請求localhost:8080/examples

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM