配置Tomcat的虛擬主機
編輯Tomcat配置文件:
[root@centos-01linux ~]# vim /usr/local/tomcat/conf/server.xml
……
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
……
說明: 在配置文件中搜索8080找到如上所示參數,將默認的8080端口改為80端口,更改完成後重啟服務。
[root@centos-01linux ~]# /usr/local/tomcat/bin/shutdown.sh
[root@centos-01linux ~]# /usr/local/tomcat/bin/startup.sh
查看服務狀態:
[root@centos-01linux ~]# ps aux |grep tomcat
[root@centos-01linux ~]# netstat -lntp |grep java
tcp6 0 0 127.0.0.1:8005 ::: LISTEN 2716/java
tcp6 0 0 :::8009 ::: LISTEN 2716/java
[root@centos-01linux ~]# netstat -lntp |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 1825/nginx: master
tcp6 0 0 127.0.0.1:8005 ::: LISTEN 2716/java
tcp6 0 0 :::8009 :::* LISTEN 2716/java
[root@centos-01linux ~]# systemctl stop nginx.service
[root@centos-01linux ~]# /usr/local/tomcat/bin/shutdown.sh
[root@centos-01linux ~]# /usr/local/tomcat/bin/startup.sh
檢測服務狀態:
[root@centos-01linux ~]# netstat -lntp |grep java
tcp6 0 0 :::80 ::: LISTEN 2815/java
tcp6 0 0 :::8009 ::: LISTEN 2815/java
說明: 此時使用瀏覽器訪問主機IP可以直接進入Tomcat主頁。
16.5 配置Tomcat的虛擬主機(上)
[root@centos-01linux ~]# vim /usr/local/tomcat/conf/server.xml
……
<Host name="www.123.cn" appBase=""
#appbase是定義Tomcat的應用(war文件)存放位置
#如果未使用該參數定義其應用,可以使用docbase來指定應用存放目錄
#當這兩個參數同時存在時,需要將其中一個寫為空
unpackWARs= "true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>
</Host>
說明: 在配置文件中搜索“Host”找到虛擬主機配置參數,在配置文件自帶(默認)虛擬主機後面增加如上參數(增加一個虛擬主機)。
16.6 配置Tomcat的虛擬主機(中)
本節使用Tomcat部署一個Java應用。
下載zrlog
[root@centos-01linux src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
[root@centos-01linux src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
#因為appbase支持自動解壓war包,所以將zrlog包放到appbase的根目錄下。
[root@centos-01linux src]# ls /usr/local/tomcat/webapps/
docs host-manager ROOT zrlog-1.7.1-baaecb9-release.war
examples manager zrlog-1.7.1-baaecb9-release
#拷貝完成後,zrlog包會自動被解壓,解壓完成後就可以直接訪問該文件。
重命名:
[root@centos-01linux src]# cd /usr/local/tomcat/webapps/
[root@centos-01linux webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
註: 只要war包在appbase的目錄下,更改相應文件名後就會自動被解壓再次生成相應的文件,所以為了方便起見,當war下載完成後進行移動的同時對其重命名,如下:
[root@centos-01linux webapps]# cp /usr/local/src/zrlog-1.7.1-baaecb9-release.war ./zrlog.war
安裝zrlog
在瀏覽器輸入IP:192.168.8.132:8080/zrlog/instll 進入安裝向導:
mark
創建數據庫
[root@centos-01linux ~]# mysql -uroot -p123456
Welcome to the MySQL monitor.
mysql> create database zrlog;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on zrlog.* to ‘zrlog‘@‘127.0.0.1‘ identified by ‘123456‘;
Query OK, 0 rows affected (0.00 sec)
連接數據庫
mark
創建管理員密碼
mark
創建完成後點擊“下一步”: mark
16.7 配置Tomcat的虛擬主機(下)
之前想要訪問zrlog需要在瀏覽器中指定IP和目錄(192.168.8.132/zrlog),那麽如何才能輸入IP直接訪問該目錄呢?配置如下:
[root@centos-01linux ~]# vim /usr/local/tomcat/conf/server.xml
……
<Host name="www.zrlog.cn" appBase=""
unpackWARs= "true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/zrlog.cn/" debug="0" reloadable="true" crossContext="true"/>
</Host>
……
[root@centos-01linux ~]# /usr/local/tomcat/bin/shutdown.sh
[root@centos-01linux ~]# /usr/local/tomcat/bin/startup.sh
然後創建docbase指定的目錄,並將zrlog的war文件移動到該目錄下:
[root@centos-01linux ~]# mkdir /data/wwwroot/zrlog.cn
[root@centos-01linux ~]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/zrlog.cn/
完成以上操作後,在Windows中綁定hosts。
mark
16.8 Tomcat日誌
[root@centos-01linux ~]# ls /usr/local/tomcat/logs/
catalina.2017-08-29.log localhost.2017-08-29.log
catalina.out localhost_access_log.2017-08-29.txt
host-manager.2017-08-29.log manager.2017-08-29.log
說明:
catalina開頭的日誌為Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。
catalina.2017-xx-xx.log和catalina.out內容相同,前者會每天生成一個新的日誌。
host-manager和manager為管理相關的日誌,其中host-manager為虛擬主機的管理日誌。
localhost和localhost_access為虛擬主機相關日誌,其中帶access字樣的日誌為訪問日誌,不帶access字樣的為默認虛擬主機的錯誤日誌。
訪問日誌默認不會生成,需要在server.xml中配置一下。
配置訪問日誌
具體方法是在對應虛擬主機的<Host></Host>裏面加入下面的配置(以域名www.zrlog.cn為例):
<Host name="www.zrlog.cn" appBase=""
unpackWARs= "true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/zrlog.cn/" debug="0" reloadable="true" crossContext="true"/>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="www.zrlog.cn_access" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
核心參數:<Valve/> 說明:
prefix定義訪問日誌的前綴;
suffix定義日誌的後綴;
pattern定義日誌格式。
新增加的虛擬主機默認並不會生成類似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最需要關註catalina.out,當出現問題時,我們應該第一想到去查看它。
配置Tomcat的虛擬主機