16.1 Tomcat介紹
16.2 安裝jdk
16.3 安裝Tomcat
16.4 配置Tomcat監聽80端口
16.5/16.6/16.7 配置Tomcat虛擬主機
16.8 Tomcat日誌
16.9 擴展
16.1 Tomcat介紹
16.2 安裝jdk
#安裝Tomcat前要先安裝jdk
jdk版本1.6,1.7,1.8
1、下載包,並經過xftp放到/usr/local/src/目錄
下載jdk8,經過xftp將下載包放到/usr/local/src/目錄下
2、解壓包並更名將包移動到/usr/local目錄下
tar zxvf jdk-8u181-linux-x64.tar.gz
mv jdk1.8.0_181 /usr/local/jdk1.8
3、設置環境變量,編輯/etc/profile文件
vi /etc/profile
#最後面增長
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
4、使修改的配置文件當即生效
source /etc/profile
5、檢測jdk是否安裝成功
(命令是否能夠運行,且顯示的版本號是否對的上)
java -version
#若是版本號對不上有多是系統以前已經安裝過其餘版本的jdk
[root@xinlinux-03 src]#
java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
16.3 安裝Tomcat
二進制免編譯安裝
1、下載tomcat包
cd /usr/local/src
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz
2、解壓包並更名移動到/usr/local目錄
tar zxvf apache-tomcat-8.5.34.tar.gz
mv apache-tomcat-8.5.34 /usr/local/tomcat
3、啓動Tomcat
/usr/local/tomcat/bin/startup.sh
[root@xinlinux-03 src]#
/usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
4、檢測tomcat是否成功啓動
ps aux|grep tomcat
#tomcat服務不支持重啓,修改配置文件後要生效必須先stop再start
關閉tomcat服務
/usr/local/tomcat/bin/shutdown.sh
查看tomcat監聽端口
netstat -lntp |grep java
#tomcat監聽三個端口:
8080爲提供web服務的端口,
8005爲管理端口,
8009端口爲第三方服務調用的端口,好比httpd和Tomcat結合時會用到
[root@xinlinux-03 src]#
netstat -lntp |grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1257/java
tcp6 0 0 :::8009 :::* LISTEN 1257/java
tcp6 0 0 :::8080 :::* LISTEN 1257/java
#剛開啓tomcat時,8005端口會比較慢啓動,因此剛開始訪問網站的時候加載很慢
16.4 配置Tomcat監聽80端口
修改tomcat配置文件
vim /usr/local/tomcat/conf/server.xml
#Connector port="8080" protocol="HTTP/1.1"修改成
Connector port="80" protocol="HTTP/1.1"
使修改的配置生效,先停掉tomcat,而後開啓
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
[root@xinlinux-03 src]#
netstat -lntp |grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1482/java
tcp6 0 0 :::8009 :::* LISTEN 1482/java
tcp6 0 0 :::80 :::* LISTEN 1482/java
16.5/16.6/16.7 配置Tomcat虛擬主機
修改tomcat配置文件
vim /usr/local/tomcat/conf/server.xml
其中<Host>和</Host>之間的配置爲
虛擬主機配置部分,name定義域名,appBase定義應用的目錄,unpackWARs是否將appBase目錄下的war包自動解壓
#Java的應用一般是一個war的壓縮包,你只須要將war的壓縮包放到appBase目錄下面便可。剛剛阿銘訪問的Tomcat默認頁其實就是在appBase目錄下面,不過是在它子目錄ROOT裏。
增長虛擬主機,編輯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>
mkdir /data/wwwroot/123.cn/ #自定義了docBase的路徑,須要手動建立
#docBase,這個參數用來定義網站的文件存放路徑,
若是不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄爲主了,其中appBase和docBase能夠同樣。
#遇到過訪問404的問題,實際上是docBase沒有定義對。
appBase爲應用存放目錄,一般是須要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄
docBase與appBase區別:
appBase是放war包的目錄;而docBase是放網站程序的文件的
經過部署一個java的應用測試appBase和docBase目錄的做用
1、下載java應用war包
2、將war包拷貝到/usr/local/tomcat/webapps目錄下,會發現war包自動解壓
cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
#對於war包解壓的目錄,若是刪除war包,目錄也會被刪除
3、將war包解壓的目錄更名,會發現war包會從新解壓一個與war包同名的目錄
cd /usr/local/tomcat/webapps
mv zrlog-1.7.1-baaecb9-release zrlog
4、安裝java應用,使用瀏覽器訪問出現博客安裝嚮導,先在mysql建立庫,用戶等,而後再瀏覽器填寫信息
# 瀏覽器訪問192.168.233.150/zrlog/
在mysql建立zrlog庫,建立用戶
/etc/init.d/mysqld start
mysql -uroot -p123456
create database zrlog;
grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by '123456' ;
5、讓博客用域名去訪問,不用加後面的目錄名
一、將zrlog目錄移到以前修改配置文件添加虛擬主機的docBase定義的目錄(沒有設置appBase)
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
二、在主機上進行測試,先在windows的hosts文件添加
三、瀏覽輸入 www.123.cn
16.8 Tomcat日誌
#主要關注catalina.out,錯誤日誌會統一記錄到catalina.out中。
tomcat存放日誌目錄
ls /usr/local/tomcat/logs
[root@xinlinux-03 webapps]#
ls /usr/local/tomcat/logs
catalina.2018-10-11.log localhost.2018-10-11.log
catalina.out localhost_access_log.2018-10-11.txt
host-manager.2018-10-11.log manager.2018-10-11.log
#
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日誌
16.9 擴展
1 tomcat 單機多實例
2 tomcat的jvm設置和鏈接數設置
3 jmx監控tomcat
4 jvm性能調優監控工具jps/jstack/jmap/jhat/jstat
5 gvm gc 相關
tomcat內存溢出