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版本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
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結合時會用到
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
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 就能夠直接域名訪問
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 "%r" %s %b" />
prefix定義訪問日誌的前綴,suffix定義日誌的後綴,pattern定義日誌格式。新增長的虛擬主機默認並不會生成相似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最須要關注catalina.out,當出現問題時,咱們應該第一想到去查看它。