1. 程式人生 > >2018.3.30 14周5次課

2018.3.30 14周5次課

Linux學習

十四周五次課(3月30日)

16.4 配置Tomcat監聽80端口

16.5/16.6/16.7 配置Tomcat虛擬主機

16.8 Tomcat日誌

16.4 配置Tomcat監聽80端口

在生產環境中,tomcat會使用8080端口,而80端口是留給nginx,如果需要使用80端口,那要先停止nginx服務才能使用80端口。

編輯vim /usr/local/tomcat/conf/server.xml

Connector port="8080" protocol="HTTP/1.1"修改為Connector port="80" protocol="HTTP/1.1"

技術分享圖片

16.5/16.6/16.7 配置Tomcat虛擬主機

編輯vim /usr/local/tomcat/conf/server.xml

其中<Host>和</Host>之間的配置為虛擬主機配置部分

name="localhost":定義虛擬主機域名

appBase="webapps":定義虛擬主機的應用目錄,默認為webapps。Java的應用通常是一個war的壓縮包,你只需要將war的壓縮包放到appBase定義的目錄下面即可。剛剛訪問的Tomcat默認頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裏。

unpackWARs="true":定義是否自動解壓;true:放到appBase定義的目錄下自動解壓,

通過解壓後的文件結構運行該Web應用;false,直接使用WAR文件運行Web應用

autoDeploy="true":表示如果有新的WEB應用放入appBase並且Tomcat在運行的情況下,自動載入應用。

技術分享圖片

增加一個新的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="" //沒有定義appBase目

docBase="/data/wwwroot/123.cn/" // docBase,這個參數用來定義網站的文件存放路徑,如果不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄為主了,其中appBase和docBase可以一樣。在這一步操作過程中很多同學遇到過訪問404的問題,其實就是docBase沒有定義對。

appBase為應用存放目錄,通常是需要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄

技術分享圖片

下面我們通過部署一個java的應用來體會appBase和docBase目錄的作用

下載zrlog :wget http://dl.zrlog.com/release/zrlog-1.9.1-cd87f93-release.war

du -sh zrlog-1.9.1-cd87f93-release.war

技術分享圖片

ls /usr/local/tomcat/webapps

技術分享圖片

拷貝文件:cp zrlog-1.9.1-cd87f93-release.war /usr/local/tomcat/webapps/

ls /usr/local/tomcat/webapps //可以看到多了一個zrlog-1.9.1-cd87f93-release目錄,說明自動解壓了

技術分享圖片

更改目錄名:mv zrlog-1.9.1-cd87f93-release zrlog //目錄改名zrlog後,會再次自動生成zrlog-1.9.1-cd87f93-release目

技術分享圖片

瀏覽器訪問 ip:8080/zrlog/,出現安裝向導

技術分享圖片

檢查MySQL有沒有啟動:ps aux |grep mysql

啟動的話進入mysql:mysql -uroot –paminglinux

技術分享圖片

創建數據庫:create database zrlog;

技術分享圖片

創建用戶名和密碼:grant all on zrlog.* to 'zrlog'@127.0.0.1 identified 'aminglinux1';

技術分享圖片

測試登陸數據庫

mysql -uzrlog -h127.0.0.1 -paminglinux1

技術分享圖片

show databases;

技術分享圖片

登陸安裝向導

技術分享圖片

下一步

技術分享圖片

下一步

技術分享圖片

點擊查看

技術分享圖片

創建123.cn網站

創建123.cn目錄:mkdir /data/wwwroot/123.cn

移動文件:mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

在Windows主機裏的hosts文件,綁定主機和123.cn

重啟tomcat服務

/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh

netstat -lntp |grep java

技術分享圖片

登陸www.123.cn

技術分享圖片

16.8 Tomcat日誌

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

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

技術分享圖片


2018.3.30 14周5次課