Tomcat是Apache軟件基金會 (Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun 和其餘一些公司及我的共同開發而成.因爲有了Sun的參與和支持,最新的Servlet和JSP規範老是能在Tomcat中獲得體現,由於Tomcat 技術先進、性能穩定,並且免費,於是深受Java愛好者的喜好並獲得了部分軟件開發商的承認,成爲目前比較流行的Web應用服務器.html
因爲 Tomcat 自己也內含了一個 HTTP 服務器,它也能夠被視做一個單獨的 Web 服務器.可是,不能將 Tomcat 和 Apache HTTP 服務器混淆 Apache HTTP 服務器是一個用 C 語言實現的 HTTP Web 服務器,這兩個 HTTP web server 不是捆綁在一塊兒的.Tomcat 包含了一個配置管理工具,也能夠經過編輯XML格式的配置文件來進行配置.java
1.因爲Tomcat使用Java開發,因此應該下載並安裝JDK.web
[root@localhost ~]# wget http://www.oracle.com/technetwork/java/javase/downloads/index.html [root@localhost ~]# tar -xzvf jdk-*.tar.gz -C /usr/local/ [root@localhost ~]# mv /usr/local/jdk-*/ /usr/local/jdk
2.修改環境配置文件寫入如下內容,保證下次開機配置好Java環境.apache
[root@localhost ~]# vim /etc/profile #------------------------------------------------------------------ #Java-JDK-Path export JAVA_HOME=/usr/local/jdk export JAVA_BIN=/usr/local/jdk/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH #------------------------------------------------------------------ [root@localhost ~]# source /etc/profile
3.下載並解壓安裝Tomcat.vim
[root@localhost ~]# wget http://tomcat.apache.org/tomcat9.0.7.tar.gz [root@localhost ~]# tar -xzvf apache-tomcat-9.0.7.tar.gz -C /usr/local/ [root@localhost ~]# mv /usr/local/apache-tomcat-9.0.7/ /usr/local/tomcat
4.修改環境配置文件寫入如下內容.緩存
[root@localhost ~]# vim /etc/profile #------------------------------------------------------------------ #Apache-Tomcat-Path export TOMCAT_HOME=/usr/local/tomcat export PATH=$PATH:$TOMCAT_HOME/bin #------------------------------------------------------------------ [root@localhost ~]# source /etc/profile
5.賦予可執行權限,啓動Tomcat,並設置成開機自啓動.tomcat
[root@localhost ~]# chmod -R 755 /usr/local/tomcat/bin/* [root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start [root@localhost ~]# echo "/usr/local/tomcat/bin/catalina.sh start" >> /etc/profile
1.建立一個默認目錄,用來保存起始頁面.bash
[root@localhost ~]# mkdir -p /usr/local/tomcat/webindex [root@localhost ~]# echo "hello world" > /usr/local/tomcat/webindex/index.html
2.修改tomcat主配置文件,具體只須要修改兩處位置便可.服務器
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml 67 Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 68 --> 69 <Connector port="80" protocol="HTTP/1.1" #將此處端口改成80 70 connectionTimeout="20000" 71 redirectPort="8443" /> 72 <!-- A "Connector" using the shared thread pool--> 73 <!-- ...... 157 <!-- Access log processes all example. 158 Documentation at: /docs/config/valve.html 159 Note: The pattern used is equivalent to using pattern="common" --> 160 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 161 prefix="localhost_access_log" suffix=".txt" 162 pattern="%h %l %u %t "%r" %s %b" /> 163 <Context path="" docBase="/usr/local/tomcat/webindex" reloadable="false" /> #添加本行,指定一下配置文件位置 164 165 </Host> 166 </Engine>
3.從新啓動Tomcat,稍等片刻便可完成部署.oracle
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop [root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
1.將War包拷入到 /usr/local/tomcat/webapps
目錄下,並刪除 ROOT 緩存目錄.
[root@localhost ~]# cp -a *.war /usr/local/tomcat/webapps/ [root@localhost ~]# rm -fr /usr/local/tomcat/webapps/ROOT/*
2.編輯Tomcat主配置文件,在相應的區域中加入如下標★語句.
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml 146 </Realm> 147 148 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> ★ <Context path="" docBase="war包名稱.war" debug="0" privileged="true"/> 150 151 <!-- SingleSignOn valve, share authentication between web applications 152 Documentation at: /docs/config/valve.html --> 153 <!-- 154 <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
3.從新啓動Tomcat,稍等片刻便可完成部署.
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop [root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
基於端口的虛擬主機,可讓用戶經過端口號,來訪問服務器上的資源,在配置虛擬網站時,基於端口的配置方式最爲複雜,如下實驗將實如今一臺服務器上配置多個端口,搭建多個網站,每一個網站使用一個端口.
1.首先在tomcat目錄建立兩個目錄分別存放兩個虛擬主機頁面.
[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual [root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost1 [root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost2 [root@localhost ~]# echo "vhost1" > /usr/local/tomcat/virtual/vhost1/index.html [root@localhost ~]# echo "vhost2" > /usr/local/tomcat/virtual/vhost2/index.html
2.修改主配置文件,添加在server.xml,中設置兩個service組件.
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml 53 <Service name="Catalina"> 54 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 55 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 56 57 <Engine name="Catalina" defaultHost="localhost"> 58 <Realm className="org.apache.catalina.realm.LockOutRealm"> 59 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> 60 </Realm> 61 62 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 63 64 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 65 <Context path="" docBase="/usr/local/tomcat/virtual/vhost1" reloadable="false" /> 66 </Host> 67 </Engine> 68 </Service> 69 70 <Service name="Catalina1"> 71 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 72 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 73 74 <Engine name="Catalina1" defaultHost="localhost"> 75 <Realm className="org.apache.catalina.realm.LockOutRealm"> 76 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> 77 </Realm> 78 79 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> 80 81 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 82 <Context path="" docBase="/usr/local/tomcat/virtual/vhost2" reloadable="false" /> 83 </Host> 84 </Engine> 85 </Service>
3.從新啓動Tomcat,稍等片刻便可完成部署.
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop [root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start
當服務器沒法爲每個網站分配一個獨立的IP的時候,能夠嘗試讓Apache自動識別用戶請求的域名,從而根據不一樣的域名請求來傳輸不一樣的內容,這裏咱們爲了驗證明驗要手動搭建一個DNS解析,如下實驗將實如今一臺服務器上多個域名,搭建多個網站,每一個網站使用一個域名.
1.配置域名與Ip的映射管理,這裏你能夠配置DNS解析,也能夠直接寫host文件測試.
[root@localhost ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 www.wang.com www 127.0.0.1 www.rui.com www
2.在tomcat目錄建立兩個目錄分別存放兩個虛擬主機頁面.
[root@localhost ~]# mkdir -p /usr/local/tomcat/virtual [root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost1 [root@localhost ~]# mkdir -p /usr/local/tomcat/virtual/vhost2 [root@localhost ~]# echo "vhost1" > /usr/local/tomcat/virtual/vhost1/index.html [root@localhost ~]# echo "vhost2" > /usr/local/tomcat/virtual/vhost2/index.html
3.修改server.xml主配置文件,修改如下內容便可.
[root@localhost ~]# vim /usr/local/tomcat/conf/server.xml 53 <Service name="Catalina"> 54 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 55 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 56 57 <Engine name="Catalina" defaultHost="localhost"> 58 <Realm className="org.apache.catalina.realm.LockOutRealm"> 59 <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> 60 </Realm> 61 62 <Host name="www.wang.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> 63 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 64 <Context path="" docBase="/usr/local/tomcat/virtual/vhost1" reloadable="false" /> 65 </Host> 66 <Host name="www.rui.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> 67 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 68 <Context path="" docBase="/usr/local/tomcat/virtual/vhost2" reloadable="false" /> 69 </Host> 70 71 </Engine> 72 </Service>
4.從新啓動Tomcat,稍等片刻便可完成部署.
[root@localhost ~]# /usr/local/tomcat/bin/catalina.sh stop [root@localhost ~]# /usr/local/tomcat/bin/catalina.sh start