五十九、配置Tomcat監聽80端口、配置Tomcat虛擬主機、Tomcat日誌
一、配置Tomcat監聽80端口
# vim /usr/local/tomcat/conf/server.xml
搜索8080,找到這裏
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
然後修改:
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
此時80端口被Nginx佔用了,所以只能停掉Nginx。
# /etc/init.d/nginx stop
# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/startup.sh
# netstat -lntp |grep 80
tcp6 0 0 :::80 :::* LISTEN 2241/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2241/java
tcp6 0 0 :::8009 :::* LISTEN 2241/java
8005端口若沒有啓動起來,瀏覽器訪問這個頁面就會很慢。
二、配置Tomcat虛擬主機
# vim /usr/local/tomcat/conf/server.xml
文件的格式是xml的。
其中<Host>和</Host>之間的配置爲虛擬主機配置部分,name定義域名,
appBase定義應用的目錄,Java的應用通常是一個war的壓縮包,只需要將war的壓縮包放到appBase目錄下面即可。war包裏包含着運行這個網站的文件,配置,代碼。
appBase:放war包的。
docBase:放網站程序的。
unpackWARs:是否自動解壓。
下面這一段就屬於虛擬主機,從前面的Host到後面的Host。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
這段是配置日誌的:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
增加虛擬主機,編輯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>
appBase和docBase同時存在時,可以其中一個寫空。
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
[root@MRX src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
[root@MRX src]# cd /usr/local/tomcat/webapps/
[root@MRX webapps]# mv zrlog-1.7.1-baaecb9-release zrlog 改名爲zrlog
瀏覽器訪問 192.168.93.130/zrlog可以看到zrlog的安裝嚮導
# ps aux |grep mysql //到mysql創建一個數據庫,檢查有沒有啓動
# mysql -uroot -p12345
mysql> create database zrlog; 創建一個叫zrlog的數據庫。
Query OK, 1 row affected (0.11 sec)
mysql> grant all on zrlog.* to "zrlog"@127.0.0.1 identified 'zrlog'; 創建用戶
Query OK, 0 rows affected (0.40 sec)
mysql> quit
# mysql -uzrlog -pzrlog -h127.0.0.1
mysql> show databases; 檢查一下
+--------------------------+
| Database |
+--------------------------+
| information_schema |
| test |
| zrlog |
+--------------------------+
3 rows in set (0.31 sec) 這裏能看到zrlog就是沒問題
再回到安裝嚮導填入zrlog數據庫的信息即可,郵箱自定義。
[root@MRX webapps]# mkdir /data/wwwroot/123.cn
[root@MRX webapps]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
# /usr/local/tomcat/bin/startup.sh //啓動Tomcat
# /usr/local/tomcat/bin/shutdown.sh //停止Tomcat,不支持restart。
# netstat -lntp |grep java 確認8005端口啓動了
然後到Windows的hosts文件裏將www.123.cn加進去,在192.168.93.130和127.0.0.1都要加。
再到瀏覽器搜索www.123.cn就可以看到域名顯示的是www.123.cn
自定義的appBase目錄下也應該創建一個ROOT目錄,然後把靜態文件放在該目錄下。
三、Tomcat日誌
# ls /usr/local/tomcat/logs
catalina.2018-05-15.log catalina.out localhost.2018-05-15.log manager.2018-05-15.log
catalina.2018-05-16.log host-manager.2018-05-15.log localhost_access_log.2018-05-15.txt
其中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,當出現問題時,我們應該第一想到去查看它。
擴展
邱李的tomcat文檔 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37
JAR、WAR包區別 http://blog.csdn.net/lishehe/article/details/41607725
tomcat常見配置彙總 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html
resin安裝 1 tomcat 單機多實例
2 tomcat的jvm設置和連接數設置
3 jmx監控tomcat
4 jvm性能調優監控工具5 gvm gc 相關