配置Tomcat的虛擬主機java
vim /usr/local/tomcat/conf/server.xml 其中<Host>和</Host>之間的配置爲虛擬主機配置部分,name定義域名, appBase定義應用的目錄,Java的應用一般是一個war的壓縮包,你只須要將war的壓縮包放到appBase目錄下面便可。剛剛訪問的Tomcat默認頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裏。 增長虛擬主機,編輯server.xml,在</Host>下面增長以下內容mysql
<Host name="www.123.cn" appBase="" unpackWARs= "true" autoDeploy="true" //開啓自動解壓war應用程序 xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/> </Host>
默認appBase="webapps" ,用於放置war,若是不想定義能夠放空,定義一個docBase文件目錄,放置網站程序。 以下web
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/> </Host>
docBase,這個參數用來定義網站的文件存放路徑,若是不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄爲主了,其中appBase和docBase能夠同樣。遇到過訪問404的問題,其實就是docBase沒有定義對。sql
appBase爲應用存放目錄,一般是須要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄,若是把壓縮包刪除或者移走,那麼他的解壓文件也會一塊兒消失,若是修改瞭解壓後的文件名,他就會自動在解壓一份。數據庫
/usr/local/tomcat/bin/shutdown.sh //重啓生效 /usr/local/tomcat/bin/startup.sh
下面咱們經過部署一個java的應用(博客)來體會appBase和docBase目錄的做用apache
下載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
建立zrlog數據庫:vim
mysql -uroot -plinbs123 create database zrlog; //建立數據庫 grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'linbs123'; //建立用戶zrlog和密碼linbs123 mysql -uzrlog -h127.0.0.1 -plinbs123 //測試建立的用戶
瀏覽器訪問 ip:8080/zrlog/install/ //若是修改了端口就用80瀏覽器
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/ //能夠將博客全站文件移動到docbase目錄下,就能夠直接用域名www.123.cn或者IP地址訪問,否則要加zrlog後綴,tomcat
Tomcat日誌app
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,當出現問題時,咱們應該第一想到去查看它。
/usr/local/tomcat/bin/shutdown.sh //重啓生效 /usr/local/tomcat/bin/startup.sh