Tomcat

Tomcat介紹

Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其餘一些公司及我的共同開發而成。html

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

tomcat是一箇中間件,真正起做用的,解析java腳本的是jdklinux

jdk(java development kit)是整個java的核心,它包含了java運行環境和一堆java相關的工具以及java基礎庫。web

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

安裝jdk

jdk版本1.6,1.7,1.8  官網下載地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html  下載jdk8,放到/usr/local/src/目錄下  tar zxvf jdk-8u144-linux-x64.tar.gzvim

mv jdk1.8.0_144  /usr/local/jdk1.8瀏覽器

vi /etc/profile //最後面增長tomcat

JAVA_HOME=/usr/local/jdk1.8/oracle

JAVA_BIN=/usr/local/jdk1.8/bin JRE_HOME=/usr/local/jdk1.8/jre PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar  app

source /etc/profile

java -version

安裝Tomcat

cd /usr/local/src

wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.20/bin/apache-tomcat-8.5.20.tar.gz

tar zxvf apache-tomcat-8.5.20.tar.gz

mv apache-tomcat-8.5.20 /usr/local/tomcat

/usr/local/tomcat/bin/startup.sh

ps aux|grep tomcat

netstat -lntp |grep java

三個端口8080爲提供web服務的端口,8005爲管理端口,8009端口爲第三方服務調用的端口,好比httpd和Tomcat結合時會用到

 

 

 

配置Tomcat監聽80端口

vim /usr/local/tomcat/conf/server.xml

Connector port="8080" protocol="HTTP/1.1"修改成Connector port="80" protocol="HTTP/1.1"  /usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh

 

配置Tomcat的虛擬主機

vim /usr/local/tomcat/conf/server.xml

其中<Host>和</Host>之間的配置爲虛擬主機配置部分,name定義域名, appBase定義應用的目錄,Java的應用一般是一個war的壓縮包,你只須要將war的壓縮包放到appBase目錄下面便可。剛剛阿銘訪問的Tomcat默認頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裏。

增長虛擬主機,編輯server.xml,在</Host>下面增長以下內容

<Host name="www.123.cn" appBase=""     unpackWARs= "true" autoDeploy="true"     xmlValidation="false" xmlNamespaceAware="false">     <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/> </Host>

 

docBase,這個參數用來定義網站的文件存放路徑,若是不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄爲主了,其中appBase和docBase能夠同樣。在這一步操做過程當中不少同窗遇到過訪問404的問題,其實就是docBase沒有定義對。

appBase爲應用存放目錄,一般是須要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄

下面咱們經過部署一個java的應用來體會appBase和docBase目錄的做用

下載zrlog wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war

mv zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/

mv /usr/local/tomcat/webapps/zrlog-1.7.1-baaecb9-release /usr/local/tomcat/webapps/zrlog

瀏覽器訪問 ip:8080/zrlog

建立一個新的用戶 和庫

mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

而後從新啓動Tomcat  就能夠直接域名訪問

 

 

Tomcat日誌

ls /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中配置一下。

具體方法是在對應虛擬主機的<Host></Host>裏面加入下面的配置(假如域名爲123.cn):

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"                                       prefix="123.cn_access" suffix=".log"

          pattern="%h %l %u %t &quot;%r&quot; %s %b" />

prefix定義訪問日誌的前綴,suffix定義日誌的後綴,pattern定義日誌格式。新增長的虛擬主機默認並不會生成相似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最須要關注catalina.out,當出現問題時,咱們應該第一想到去查看它。