五十九、配置Tomcat監聽80端口、配置Tomcat虛擬主機、Tomcat日誌

五十九、配置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 &quot;%r&quot; %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 &quot;%r&quot; %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 相關


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