1. 程式人生 > >Tomcat學習總結(6)——Tomca常用配置詳解

Tomcat學習總結(6)——Tomca常用配置詳解

mar evel 代碼段 between 取消 新建 unp -h tom

註:Tomcat 8需要JRE7以上的JRE

1. Tomcat環境變量設置

1.1 Java環境變量設置

右鍵計算機—屬性—高級系統設置—環境變量,在”系統環境變量”,設置如下三個變量(如果變量已有,點”編輯”;如果變量沒有,點”新建”。格式:變量名 = 變量值)

JAVA_HOME = C:\Program Files\Java\jdk1.7.0_51

CLASSPATH = %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;.

在Path的變量值尾部加上;%JAVA_HOME%\bin

1.2 Tomcat環境變量設置

在”系統環境變量”,設置如下兩個變量

CATALINA_HOME = D:\Program Files\apache-tomcat-8.0.3

在Path的變量值尾部加上;%CATALINA_HOME%\bin

啟動Tomcat

雙擊D:\Program Files\apache-tomcat-8.0.3\bin目錄下的startup.bat(也可以在cmd下執行startup.bat)。在如下界面沒有異常,即表明Tomcat啟動成功

技術分享

訪問Tomcat

在瀏覽器下輸入http://localhost:8080,即可看到Tomcat首頁

技術分享

2. 修改Tomcat端口

Tomcat默認監聽的是8080端口,如果想修改此端口號,打開

D:\Program Files\apache-tomcat-8.0.3\conf\server.xml,找到如下代碼段,修改port屬性即可

[html] view plain copy 技術分享技術分享
  1. <Connector port="8080" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="8443" />

3. Tomcat設置https

3.1 制作xx.keystore文件

在命令行下輸入如下命令:

keytool -genkey -alias tomcat -keyalg RSA -keystore D:\test.keystore

(keytool.exe 在C:\Program Files\Java\jdk1.7.0_51\bin目錄下。因為已設置jdk環境變量,因此可以在命令行下可直接使用keytool)

密鑰庫口令隨意填,最後一步的密鑰口令也隨意填,也可以選擇跟密鑰庫口令一樣(按”Enter”鍵即可)

技術分享

在D盤下可以看到test.keystore 文件

3.2 修改server.xml

打開D:\Program Files\apache-tomcat-8.0.3\conf\server.xml,找到如下代碼段

[html] view plain copy 技術分享技術分享
  1. <!--
  2. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
  3. maxThreads="150" scheme="https" secure="true"
  4. clientAuth="false" sslProtocol="TLS" />
  5. -->

將註釋打開,並修改Connector 標簽內容,keystorePass為密鑰庫口令

[html] view plain copy
  1. <Connector port="8443"
  2. protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
  3. maxThreads="150" scheme="https" secure="true"
  4. keystoreFile="D:\tomcat.keystore" keystorePass="password"
  5. clientAuth="false" sslProtocol="TLS" />

重啟Tomcat,在瀏覽器下輸入https://localhost:8443,即可看到Tomcat首頁

4. 修改Tomcat默認web項目

Tomcat的web項目放在D:\Program Files\apache-tomcat-8.0.3\webapps目錄下,Tomcat自帶了5個Web項目:docs、examples、host-manager、manager、ROOT,Tomcat啟動時會部署webapps下的所有項目

在瀏覽器下輸入http://localhost:8080/examples/index.html,即可訪問examples的首頁(雖然簡陋了點。。。)

技術分享

(訪問http://localhost:8080/host-manager/index.jsp和http://localhost:8080/manager/index.jsp會提示輸入用戶名、密碼,Tomcat的賬號問題將在下文介紹)

顯然在訪問http://localhost:8080的時候,Tomcat默認指向了ROOT項目,那該怎麽做可以讓Tomcat指向自定義項目呢?

打開D:\Program Files\apache-tomcat-8.0.3\conf\server.xml,找到如下代碼段

[html] view plain copy 技術分享技術分享
  1. <Host name="localhost" appBase="webapps"
  2. unpackWARs="true" autoDeploy="true">
  3. <!-- SingleSignOn valve, share authentication between web applications
  4. Documentation at: /docs/config/valve.html -->
  5. <!--
  6. <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
  7. -->
  8. <!-- Access log processes all example.
  9. Documentation at: /docs/config/valve.html
  10. Note: The pattern used is equivalent to using pattern="common" -->
  11. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  12. prefix="localhost_access_log" suffix=".txt"
  13. pattern="%h %l %u %t "%r" %s %b" />
  14. </Host>

在Host 標簽內加入如下代碼段,docBase屬性可指定項目名稱,將其設置為"examples"

[html] view plain copy 技術分享技術分享
  1. <Context path="" docBase="examples" reloadable="true" crossContext="true">
  2. </Context>

修改後的Host 標簽

[html] view plain copy 技術分享技術分享
  1. <Host name="localhost" appBase="webapps"
  2. unpackWARs="true" autoDeploy="true">
  3. <Context path="" docBase="examples" reloadable="true" crossContext="true">
  4. </Context>
  5. <!-- SingleSignOn valve, share authentication between web applications
  6. Documentation at: /docs/config/valve.html -->
  7. <!--
  8. <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
  9. -->
  10. <!-- Access log processes all example.
  11. Documentation at: /docs/config/valve.html
  12. Note: The pattern used is equivalent to using pattern="common" -->
  13. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
  14. prefix="localhost_access_log" suffix=".txt"
  15. pattern="%h %l %u %t "%r" %s %b" />
  16. </Host>

重新啟動Tomcat,在瀏覽器下輸入http://localhost:8080,即可看到examples的首頁

5. Tomcat賬號

訪問http://localhost:8080/host-manager/index.jsp,會提示輸入用戶名、密碼,點”取消”,會彈出錯誤頁面,根據此錯誤頁面可以找到設置Tomcat賬號的辦法

技術分享

技術分享

打開D:\Program Files\apache-tomcat-8.0.3\conf\tomcat-users.xml,在tomcat-users標簽下添加如下內容

[html] view plain copy 技術分享技術分享
  1. <role rolename="admin-gui"/>
  2. <user username="tomcat" password="s3cret" roles="admin-gui"/>

重啟Tomcat,然後訪問http://localhost:8080/host-manager/index.jsp,用戶名輸入tomcat,密碼輸入s3cret,即可

6. eclipse中添加Tomcat

eclipse版本:Eclipse Java EE IDE for Web Developers(Juno Service Release 2)

選擇Window-Preferences-Server-Runtime Environment-Add,選擇Tomcat版本,這版eclipse支持的Tomcat的最高版為7,

因此下面使用apache-tomcat-7.0.52進行配置

技術分享

輸入Tomcat7的路徑

JRE可以用Workbench default JRE也可以用安裝的JRE

技術分享

點”Finish”完成eclipse下Tomcat設置

在eclipse下部署Web項目

右鍵Web項目-Run As-Run on Server

選擇剛才配置的Tomcat,點”Finish”,即可部署該項目

技術分享

7. 修改Session有效時間

默認情況下,Session有效時間為30分鐘。打開\conf\web.xml,修改session-timeout標簽的值

[html] view plain copy
  1. <session-config>
  2. <session-timeout >30</session-timeout>
  3. </session-config>

Tomcat學習總結(6)——Tomca常用配置詳解