Tomcat基本配置

第二十六課 Tomcat基本配置

目錄css

1、 Tomcat介紹
2、 安裝jdk
3、 安裝Tomcat
4、 配置Tomcat監聽80端口
5、 配置Tomcat虛擬主機
6、 Tomcat日誌
7、擴展html


1、 Tomcat介紹

Tomcat 是什麼java

Tomcat 是由 Apache軟件基金會開發的一個 Servlet 容器,實現了對 Servlet 和 JSP 的支持,並提供了做爲Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。mysql

因爲 Tomcat 自己也內含了一個 HTTP 服務器,它也能夠被視做一個單獨的 Web 服務器。可是,不能將 Tomcat 和 Apache HTTP 服務器混淆,Apache HTTP 服務器是一個用 C 語言實現的 HTTP Web 服務器;這兩個 HTTP web server 不是捆綁在一塊兒的。Tomcat 包含了一個配置管理工具,也能夠經過編輯XML格式的配置文件來進行配置。linux

tomcat是一箇中間件,真正起做用解析java腳本的是jdk。jdk(java development kit)是整個java的核心,它包含了java運行環境和一堆java相關的工具以及java基礎庫。web

最主流的jdk爲sun公司發佈的jdk,除此以外,其實IBM公司也有發佈JDK,CentOS上也能夠用yum安裝openjdksql

java程序寫的網站用tomcat+jdk來運行數據庫


2、 安裝jdk

1.從Orcale官網下載當前的jdk版本,而後上傳到服務器上apache

當前下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlbootstrap

2.解壓jdk包

[root@tomcat8 ~]# ls -l /usr/local/src/
total 195752
-rw-r--r-- 1 root root 190890122 May 23 21:09 jdk-8u171-linux-x64.tar.gz
//解壓jdk包
[root@tomcat8 src]# tar -zxf jdk-8u171-linux-x64.tar.gz 
[root@tomcat8 src]# ll
total 195752
drwxr-xr-x 8   10  143       255 Mar 28 20:18 jdk1.8.0_171
-rw-r--r-- 1 root root 190890122 May 23 21:09 jdk-8u171-linux-x64.tar.gz

3.移動jdk包到/usr/local/下

[root@tomcat8 src]# ls -ld /usr/local/jdk1.8/
drwxr-xr-x 8 10 143 255 Mar 28 20:18 /usr/local/jdk1.8/

4.新建jdk環境變量

[root@tomcat8 src]# vim /etc/profile
//在文件末尾添加以下內容
export JAVA_HOME=/usr/local/jdk1.8/
export JAVA_BIN=$JAVA_HOME/bin
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/jre/lib/charsets.jar 

//使環境變量當即生效
[root@tomcat8 src]# source /etc/profile

5.測試jdk環境是否生效

[root@tomcat8 src]# source /etc/profile
[root@tomcat8 src]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)


3、 安裝Tomcat

1.下載tomcat源碼包,這裏以tomcat-8.5.31爲例

[root@tomcat8 ~]# cd /usr/local/src/
[root@tomcat8 src]#  wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz
--2018-07-16 03:43:30--  https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz
Resolving archive.apache.org (archive.apache.org)... 163.172.17.199
Connecting to archive.apache.org (archive.apache.org)|163.172.17.199|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9552281 (9.1M) [application/x-gzip]
Saving to: ‘apache-tomcat-8.5.31.tar.gz’

100%[=====================================================================================>] 9,552,281    120KB/s   in 2m 35s 

2018-07-16 03:46:06 (60.2 KB/s) - ‘apache-tomcat-8.5.31.tar.gz’ saved [9552281/9552281]

[root@tomcat8 src]# ls -lh
total 192M
-rw-r--r-- 1 root root 9.2M Apr 27 16:47 apache-tomcat-8.5.31.tar.gz
-rw-r--r-- 1 root root 183M May 23 21:09 jdk-8u171-linux-x64.tar.gz

2.解壓tomcat並移動到/usr/local

[root@tomcat8 src]# tar -zxf apache-tomcat-8.5.31.tar.gz 
[root@tomcat8 src]# ll
total 195752
drwxr-xr-x 9 root root       160 Jul 16 03:49 apache-tomcat-8.5.31
-rw-r--r-- 1 root root   9552281 Apr 27 16:47 apache-tomcat-8.5.31.tar.gz
-rw-r--r-- 1 root root 190890122 May 23 21:09 jdk-8u171-linux-x64.tar.gz
[root@tomcat8 src]# mv apache-tomcat-8.5.31 /usr/local/tomcat
[root@tomcat8 src]# ls -ld /usr/local/tomcat/
drwxr-xr-x 9 root root 160 Jul 16 03:49 /usr/local/tomcat/

3.啓動tomcat

[root@tomcat8 src]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8//jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

//檢測是否正常啓動
[root@tomcat8 src]# netstat -nltup | grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      1267/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      1267/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      1267/java

本地測試

[root@tomcat8 src]# curl -x:127.0.0.1:80 127.0.0.1:8080
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/8.5.31</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

....中間略...

                        </ul>
                    </div>
                </div>
                <br class="separator" />
            </div>
            <p class="copyright">Copyright &copy;1999-2018 Apache Software Foundation.  All Rights Reserved</p>
        </div>
    </body>

</html>

遠程瀏覽器測試


4、 配置Tomcat監聽80端口

Tomcat默認偵聽的是8080端口,不是很方便。能夠經過修改配置文件的方式將默認偵聽的端口改成80.

[root@tomcat8 src]# vim /usr/local/tomcat/conf/server.xml 
//修改以下字段
Connector port="8080"---->Connector port="80"
//中止tomcat
[root@tomcat8 src]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8//jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
//啓動tomcat
[root@tomcat8 src]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8//jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
//注意,tomcat沒有restart參數,須要用shutdown.sh關閉,而後再用Startup啓動。

本地測試

[root@tomcat8 src]# curl -x127.0.0.1:80 127.0.0.1



<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/8.5.31</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

...中間略...

            </div>
            <p class="copyright">Copyright &copy;1999-2018 Apache Software Foundation.  All Rights Reserved</p>
        </div>
    </body>

遠程瀏覽器測試


5、 配置Tomcat虛擬主機

這裏以增長虛擬主機www.tomcattest.com爲例

[root@tomcat8 src]# vim /usr/local/tomcat/conf/server.xml 
...略...
//默認虛擬主機的配置<Host...> </Host>表示一個虛擬主機
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

//增長www.tomcattest.com虛擬主機配置
<Host name="www.tomcattest.com" appBase=""
    unpackWARs= "true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="/data/wwwroot/tomcattest.com/" debug="0" reloadable="true" crossContext="true"/>
</Host>

[root@tomcat8 tomcattest]# /usr/local/tomcat/bin/shutdown.sh      
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8//jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@tomcat8 tomcattest]# /usr/local/tomcat/bin/startup.sh  
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8//jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

[root@tomcat8 tomcattest]# mkdir -p /data/wwwroot/tomcattest.com 
[root@tomcat8 tomcattest]# ls -ld  /data/wwwroot/tomcattest.com  
drwxr-xr-x 2 root root 37 Jul 16 04:21 /data/wwwroot/tomcattest.com
//新建測試文件
[root@tomcat8 tomcattest]# vim 1.html  
[root@tomcat8 tomcattest]# cat 1.html 
I am www.tomcattest.com!
[root@tomcat8 tomcattest]# mv /usr/local/tomcat/webapps/ROOT/index.jsp /data/wwwroot/tomcattest/index.jsp

本地測試

[root@tomcat8 tomcattest]# curl -x127.0.0.1:80 www.tomcattest.com/1.html
I am www.tomcattest.com!

[root@tomcat8 tomcattest]# curl -x127.0.0.1:80 www.tomcattest.com/index.jsp -I
HTTP/1.1 200 
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 16 Jul 2018 08:33:23 GMT

遠程瀏覽器測試

Zrblog的安裝

1.從官網下載zrblog的安裝包並上傳到服務器

2.將程序複製到webapp目錄

//由於與默認網站的目錄重名,ROOT.war解壓後將默認網站的內容覆蓋了
//若是不想覆蓋默認網站,請在拷入ROOT目錄前更名
[root@tomcat8 ~]# ls /usr/local/src/
apache-tomcat-8.5.31.tar.gz  jdk-8u171-linux-x64.tar.gz  ROOT.war
[root@tomcat8 ~]# cd !$
cd /usr/local/src/
[root@tomcat8 src]# mv ROOT.war /usr/local/tomcat/webapps/
[root@tomcat8 src]# cd !$
cd /usr/local/tomcat/webapps/
[root@tomcat8 webapps]# pwd
/usr/local/tomcat/webapps
[root@tomcat8 webapps]# ls
docs  examples  host-manager  manager  ROOT  ROOT.war

3.新建zrlog數據庫用戶

[root@tomcat8 init.d]# mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database zrlog;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on zrlog.* to 'zrlogadmin'@127.0.0.1 identified by '123456';
Query OK, 0 rows affected (0.01 sec)

4.進入安裝嚮導

若是不想利用默認的網站,可將應用程序放入相應 定義的目錄便可。.war包在appbase定義的目錄下

會自動解壓。已經解壓好的網站程序,也能夠放到docbase定義的目錄下。


6、 Tomcat日誌

tomcat日誌在/usr/local/tomcat/logs/下

其中catalina開頭的日誌爲Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。

其中catalina.2017-xx-xx.log和catalina.out內容相同,前者會天天生成一個新的日誌。

host-manager和manager爲管理相關的日誌,其中host-manager爲虛擬主機的管理日誌。

localhost和localhost_access爲虛擬主機相關日誌,其中帶access字樣的日誌爲訪問日誌,不帶access字樣的爲默認虛擬主機的錯誤日誌。

訪問日誌默認不會生成,須要在server.xml中配置一下。

[root@tomcat8 tomcattest]# cd /usr/local/tomcat/logs/
[root@tomcat8 logs]# ls -l
total 140
-rw-r----- 1 root root 63847 Jul 16 04:26 catalina.2018-07-16.log
-rw-r----- 1 root root 63847 Jul 16 04:26 catalina.out
-rw-r----- 1 root root     0 Jul 16 03:51 host-manager.2018-07-16.log
-rw-r----- 1 root root  4134 Jul 16 04:26 localhost.2018-07-16.log
-rw-r----- 1 root root  1730 Jul 16 04:04 localhost_access_log.2018-07-16.txt
-rw-r----- 1 root root     0 Jul 16 03:51 manager.2018-07-16.log

//catalina日誌示例
-rw-r----- 1 root root     0 Jul 16 03:51 manager.2018-07-16.log
[root@tomcat8 logs]# head -n 5  catalina.2018-07-16.log
16-Jul-2018 03:51:21.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.31
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Apr 27 2018 20:24:25 UTC
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.31.0
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-693.el7.x86_64

//catalina.out日誌示例
[root@tomcat8 logs]# head -n 5 catalina.out
16-Jul-2018 03:51:21.812 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.31
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Apr 27 2018 20:24:25 UTC
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.31.0
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
16-Jul-2018 03:51:21.816 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-693.el7.x86_64

//localhost_access日誌示例
[root@tomcat8 logs]# head -n 5 localhost_access_log.2018-07-16.txt 
10.0.1.229 - - [16/Jul/2018:03:53:06 -0400] "GET / HTTP/1.1" 200 11250
10.0.1.229 - - [16/Jul/2018:03:53:06 -0400] "GET /tomcat.png HTTP/1.1" 200 5103
10.0.1.229 - - [16/Jul/2018:03:53:06 -0400] "GET /tomcat.css HTTP/1.1" 200 5581
10.0.1.229 - - [16/Jul/2018:03:53:07 -0400] "GET /bg-upper.png HTTP/1.1" 200 3103
10.0.1.229 - - [16/Jul/2018:03:53:07 -0400] "GET /asf-logo-wide.svg HTTP/1.1" 200 27235

//localhost日誌示例
[root@tomcat8 logs]# head -n 5 localhost.2018-07-16.log 
16-Jul-2018 03:51:23.554 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized()
16-Jul-2018 03:51:23.554 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log SessionListener: contextInitialized()
16-Jul-2018 03:51:23.556 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: attributeAdded('StockTicker', 'async.Stockticker@371e34e1')
16-Jul-2018 04:00:44.831 INFO [localhost-startStop-2] org.apache.catalina.core.ApplicationContext.log SessionListener: contextDestroyed()
16-Jul-2018 04:00:44.831 INFO [localhost-startStop-2] org.apache.catalina.core.ApplicationContext.log ContextListener: contextDestroyed()

//配置www.tomcattest.com的訪問日誌
[root@tomcat8 logs]# vim /usr/local/tomcat/conf/server.xml

      </Host>
      <Host name="www.tomcattest.com" appBase=""
      unpackWARs= "true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">
      <Context path="" docBase="/data/wwwroot/tomcattest.com/" debug="0" reloadable="true" crossContext="true"/>
      //增長日誌配置
      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/tomcattest"
      prefix="localhost_access" suffix=".log"
      pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

[root@tomcat8 tomcattest]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8//jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@tomcat8 tomcattest]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8//jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

[root@tomcat8 tomcattest]# ls
localhost_access.2018-07-16.log

[root@tomcat8 tomcattest]# curl -x127.0.0.1:80 www.tomcattest.com/1.html
I am www.tomcattest.com!

[root@tomcat8 tomcattest]# cat localhost_access.2018-07-16.log
127.0.0.1 - - [16/Jul/2018:04:52:41 -0400] "GET /1.html HTTP/1.1" 200 25


7、擴展

java容器比較

http://my.oschina.net/diedai/blog/271367

http://www.360doc.com/content/11/0618/21/16915_127901371.shtml

j2ee、j2se、ejb、javabean、serverlet、jsp之間關係

http://bbs.csdn.net/topics/50015576

tomcat server.xml配置詳解

http://blog.csdn.net/yuanxuegui2008/article/details/6056754

tomcat經常使用數據庫鏈接的方法

http://wjw7702.blog.51cto.com/5210820/1109263

相關文章
相關標籤/搜索