目錄css
1、 Tomcat介紹
2、 安裝jdk
3、 安裝Tomcat
4、 配置Tomcat監聽80端口
5、 配置Tomcat虛擬主機
6、 Tomcat日誌
7、擴展html
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來運行數據庫
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)
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 ©1999-2018 Apache Software Foundation. All Rights Reserved</p> </div> </body> </html>
遠程瀏覽器測試
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 ©1999-2018 Apache Software Foundation. All Rights Reserved</p> </div> </body>
遠程瀏覽器測試
這裏以增長虛擬主機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 "%r" %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.進入安裝嚮導
若是不想利用默認的網站,可將應用程序放入相應
會自動解壓。已經解壓好的網站程序,也能夠放到docbase定義的目錄下。
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 "%r" %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
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