2018.3.30 14周5次課
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定義的目錄下自動解壓,
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 "%r" %s %b" />
prefix定義訪問日誌的前綴,suffix定義日誌的後綴,pattern定義日誌格式。新增加的虛擬主機默認並不會生成類似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最需要關註catalina.out,當出現問題時,我們應該第一想到去查看它。
2018.3.30 14周5次課