6月27日
16.4 配置Tomcat監聽80埠
配置Tomcat監聽80埠
1.配置Tomcat服務的訪問埠
Tomcat預設啟動的埠是8080,如果你想修改為80,則需要修改server.xml檔案。
如何讓訪問瀏覽器時,輸入IP後,不用字尾8080,直接預設80埠(80埠可以忽略,訪問的時候可以直接IP訪問):
vim /usr/local/tomcat/conf/server.xml
按如下需求更改: 找到Connector port="8080"protocol="HTTP/1.1"修改為Connector port="80" protocol="HTTP/1.1"
2. 停用並重新啟用tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
3.檢視一下程序 和埠:
netstat -lntp|grep 80
ps aux |grep java
netstat -lntp |grep java
發現80埠被nginx佔用了,所以要stop掉nginx程序,再來重啟tomcat就可以了:
/etc/init.d/nginx stop
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
netstat -lntp|grep 80
4.測試80埠
http://47.97.163.117
16.5-16.6-16.7 配置Tomcat虛擬主機
開啟配置檔案/usr/local/tomcat/conf/server.xml檢視它的結構:
其中<Host>和</Host>之間的配置為虛擬主機配置部分,name定義域名,
appBase定義應用的目錄,Java的應用通常是一個war的壓縮包,你只需要將war的壓縮包放到appBase目錄下面即可。
1.1 之前瀏覽器訪問的預設頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裡:
1.2其中index.jsp就是Tomcat的預設頁面,你也可以用curl命令來訪問一下tomcat.gif圖片:
curl localhost:80/tomcat.gif -I //剛剛監聽埠改為了80
vim /usr/local/tomcat/conf/server.xml 增加如下配置內容: <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> //docBase,這個引數用來定義網站的檔案存放路徑,如果不定義, 預設是在appBase/ROOT下面,定義了docBase就以該目錄為主了, 其中appBase和docBase可以一樣。在這一步操作過程中很多同學遇到過訪問404的問題,其實就是docBase沒有定義對。 //appBase為應用存放目錄,通常是需要把war包直接放到該目錄下面,它會自動解壓成一個程式目錄
下面我們通過部署一個java的應用來體會appBase和docBase目錄的作用
wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
mv zrlog-1.7.1-baaecb9-release.war/usr/local/tomcat/webapps/
mv /usr/local/tomcat/webapps/zrlog-1.7.1-baaecb9-release /usr/local/tomcat/webapps/zrlog
grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by '111111';
mysql -uzrlog-h127.0.0.1 -p111111
但是這樣http://172.16.17.71/zrlog/這個網址訪問不方便,我們要設定成其他的域名來跳轉過去,先看一下我們前面在tomcat的配置檔案裡設定的路徑:
4.1 所以我們要設定成直接訪問www.123.cn 來訪問,如果做呢?先建立一個123.cn目錄:
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
5.1新增繫結本地hosts檔案,如47.97.163.117www.123.cn
5.2開啟本機cmd,ping www.123.cn 是否通訊,如下圖:
Tomcat日誌
1. Tomcat的日誌目錄為/usr/local/tomcat/logs
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字樣的為預設虛擬主機的錯誤日誌。
2. 要注意:
訪問日誌預設不會生成,需要在server.xml中配置一下。
vim /usr/local/tomcat/conf/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,當出現問題時,我們應該第一想到去檢視它。
轉載於:https://blog.51cto.com/404006045/2133473