配置Tomcat的虛擬主機

16.4 配置Tomcat監聽80端口

編輯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
說明: 此時Tomcat服務正常運行,但是沒有監聽端口,監聽80端口的是nginx服務。如果想讓Tomcat監聽80端口,需要關閉nginx服務,然後重啓Tomcat服務。

[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 &quot;%r&quot; %s %b" />
</Host>

核心參數:<Valve/> 說明:
prefix定義訪問日誌的前綴;
suffix定義日誌的後綴;
pattern定義日誌格式。
新增加的虛擬主機默認並不會生成類似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最需要關注catalina.out,當出現問題時,我們應該第一想到去查看它。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章