Tomcat的安裝過程很是簡單,可是咱們須要學會如何配置Tomcat。在生產環境中tomcat的配置其實並不對,接下來介紹幾個經常使用的配置。java
配置Tomcat服務的訪問端口:mysql
tomcat默認啓動的端口是8080,若是你想修改成80,則須要修改server.xml文件:web
vim /usr/local/tomcat/conf/server.xmlsql
找到 Connector port="8080" protocol="HTTP/1.1"修改成Connector port="80" protocol="HTTP/1.1" 保存文件後重啓tomcat數據庫
/usr/local/tomcat/bin/startup.shapache
/usr/local/tomcat/bin/shutdown.shvim
Tomcat的關閉和啓動有點特殊,須要使用它自帶的腳本實現。其實在生產環境中,Tomcat會使用8080端口,80端口是留給Nginx的,也就是說想要訪問Tomcat,須要使用Nginx代理。瀏覽器
在以前介紹httpd或則Nginx的時候,都曾提到過虛擬主機的概念,在Tomcat中也有這麼一說,先來打開配置文件/usr/local/tomcat/conf/server.xml查看一下它的結構,其中<!--和-->之間的內容爲註釋掉的,能夠不用關注。tomcat
其中<Host>和</Host>之間的配置爲虛擬主機配置部分,name定義域名,app
appBase定義應用的目錄,Java的應用一般是一個war的壓縮包,你只須要將war的壓縮包放到appBase目錄下面便可。訪問的Tomcat默認頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裏。
vim /usr/local/tomcat/conf/server.xml
增長虛擬主機,編輯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>
mkdir -p /data/wwwroot/123.cn
docBase,這個參數用來定義網站的文件存放路徑,若是不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄爲主了,其中appBase和docBase能夠同樣。在這一步操做過程當中不少同窗遇到過訪問404的問題,其實就是docBase沒有定義對。
注:appBase下放的啥war包,若是要放些文檔配置可使用docBase;兩個定義一個後,另外一個爲空不定義。
appBase爲應用存放目錄,一般是須要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄
下面咱們經過部署一個java的應用來體會appBase和docBase目錄的做用
給zrlog新建數據庫名和帳戶:
mysql -uroot -p
create database zrlog;
grant all on mysql.* to 'zrlog'@'127.0.0.1' identified by 'passlog';
flush privileges;
直接域名訪問zrlog:
在tomcat配置文件server.xml中定義了一個虛擬主機域名
把zrlog目錄下的全部文件copy到docBase目錄下:
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
重啓tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
瀏覽器中訪問:
查看日誌:
ls /usr/local/tomcat/logs
配置訪問日誌:
具體方法是在對應虛擬主機的<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,當出現問題時,咱們應該第一想到去查看它。