Tomcat

16.1 Tomcat介紹
16.2 安裝jdk
16.3 安裝Tomcat
16.4 配置Tomcat監聽80端口
16.5/16.6/16.7 配置Tomcat虛擬主機
16.8 Tomcat日誌php

擴展
java容器比較 http://my.oschina.net/diedai/blog/271367  
http://www.360doc.com/content/11/0618/21/16915_127901371.shtml
j2ee、j2se、ejb、javabean、serverlet、jsp之間關係 http://bbs.csdn.net/topics/50015576
tomcat server.xml配置詳解  http://blog.csdn.net/yuanxuegui2008/article/details/6056754
JAR、WAR包區別  http://blog.csdn.net/lishehe/article/details/41607725
 html

 

 

 

 

1、Tomcat介紹java

Tomcat是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其餘一些公司及我的共同開發而成。
    java程序寫的網站用tomcat+jdk來運行。
    tomcat是一箇中間件,真正起做用的,解析java腳本的是jdk。
    jdk(java development kit)是整個java的核心,它包含了java運行環境和一堆java相關的工具以及java基礎庫。
    最主流的jdk爲sun公司發佈的jdk,除此以外,其實IBM公司也有發佈JDK,CentOS上也能夠用yum安裝openjdk。

咱們已經學過了LAMP和LNMP架構;針對的開發語言是PHP;能夠說PHP是一門開發Web程序很是流行的語言;早期比較流行的是asp,是在windows平臺上運行的一種編程語言;可是由於安全性不高;因此愈來愈多作網站的人用php去開發網站,相對來講也是比較安全的。
除了PHP外,還有一門語言叫java;java是一門很是龐大的開發語言;不只僅是能夠開發開網站;也能夠開發大型的軟件、工具、甚至是遊戲均可以;tomcat其實是一箇中間件,用來運行Java語言寫的網站;那咱們php寫的代碼,要用php去解析;java就要用tomcat加上JDK一塊兒去解析。

 2、安裝jdkmysql

官網下載地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmllinux

下載好jdk,用xftp傳輸到linux虛擬機root下nginx

mv jdk-8u211-linux-x64.tar.gz /usr/local/src/   移動到src目錄下web

tar zxvf jdk-8u211-linux-x64.tar.gz    解壓sql

du -sh jdk1.8.0_211/   查看大小數據庫

mv jdk1.8.0_211/ /usr/local/jkd1.8        //移動並更名apache

vim /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

source /etc/profile //加載服務

java -version //查看java版本    正常顯示,即安裝成功

3、安裝Tomcat

其實Tomcat只是一箇中間件,真正起做用的就是已經安裝的jdk。沒有Tomcat還不能夠,他的做用就是監聽8080;8005;8009端口。假如說,訪問站點,須要一個webserver,而Tomcat就能夠理解爲webserver!Tomcat依賴於jdk

cd /usr/local/src

官網地址:http://tomcat.apache.org/  進行下載,傳到linux服務器上

tar zxvf apache-tomcat-8.5.41.tar.gz   解壓

mv apache-tomcat-8.5.41 /usr/local/tomcat        移動並更名爲tomcat

開啓服務與關閉服務,不支持restart

/usr/local/tomcat/bin/startup.sh         //啓動服務

/usr/local/tomcat/bin/shutdown.sh     //關閉服務

netstat -lntp |grep java  查看監聽端口

三個端口釋義:

  • 8080爲提供web服務的端口;

  • 8005爲管理端口;//顯示調用會慢

  • 8009端口爲第三方服務調用的端口,好比httpd和Tomcat結合時會用到

systemctl stop firewalld  關閉防火牆

systemctl disable firewalld   移除

瀏覽器訪問其默認主頁:192.168.67.3:8080

4、配置Tomcat監聽80端口
 

vim /usr/local/tomcat/conf/server.xml            把8080端口改成80端口

netstat -lntp |grep 80   此時80端口被nginx佔用

/etc/init.d/nginx stop         //關閉nginx服務,關閉後80端口沒有出現,在從新關閉開啓服務

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

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

此時再在瀏覽器測試8080,已經打不開網頁,而用80就能夠

5、配置Tomcat的虛擬主機

vim /usr/local/tomcat/conf/server.xml        增長虛擬主機,編輯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>

以上代碼關鍵詞釋義:

  • name 定義域名;

  • appBase 定義應用的目錄,Java的應用一般是一個war的壓縮包,只須要將war的壓縮包放到appBase目錄下面便可,一般是須要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄

  • unpackWARs=」true」 是否自動解壓;(也就是說,當咱們往站點目錄裏面直接上傳一個war的包,它會自動解壓)

  • docBase,這個參數用來定義網站的文件存放路徑,若是不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄爲主了,其中appBase和docBase能夠同樣。在這一步操做過程當中,可能會遇到過訪問404的問題,其實就是docBase沒有定義對。

試驗準備:

下載站點程序zrlog :https://www.zrlog.com/download

下載完成後使用xftp,傳輸到服務器上,下載下來的叫ROOT跟系統中的文件同名,解壓會覆蓋,更名成zrlog-release

appBase默認路徑在    ls /usr/local/tomcat/webapps/

把此war包,複製一份到/usr/local/tomcat/webapps/下,在此目錄下會自動解壓

mv zrlog-release zrlog        爲了防止再次自動解壓被覆蓋,更名爲zrlog,用zrlog目錄作測試

準備zrlog須要使用的數據庫

create database zrlog;   建立數據庫
grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'tobe';        建立zrlog用戶和密碼tobe
mysql -uzrlog -ptobe -h127.0.0.1        使用新用戶,及密碼登陸,有zrlog數據庫

在瀏覽器中輸入:http://192.168.67.3/zrlog  ,填寫安裝信息,把剛纔建立的數據庫信息填上,而後下一步繼續添加,出現安裝完成,點擊「點擊查看」

 

點擊管理,進入後臺操做,在後臺寫一篇文章,隨時保存,點擊發布,便可在主頁查看新發布的內容

不讓http://192.168.67.3/zrlog/顯示最後的zrlog目錄名

vim /usr/local/tomcat/conf/server.xml  編輯配置文件,查看域名爲www.123.cn的虛擬主機

按虛擬主機配置文件,建立相應的網站目錄     mkdir /data/wwwroot/123.cn

把zrlog目錄下全部文件,移到新建立的網站目錄123.cn下   

mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

從新加載tomcat配置文件

/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
netstat -lntp |grep 80

在windows的host文件下,配置www.123.cn,並在cmd下ping此域名

回到瀏覽器下,用域名www.123.cn訪問,此時獲得以下頁面

ROOT目錄

網站的圖標和一些重要信息都在/usr/local/tomcat/webapps/ROOT下

能夠在瀏覽器中輸入:192.168.67.3/tomcat-power.gif    訪問

6、Tomcat日誌

Tomcat日誌目錄位置/usr/local/tomcat/logs

日誌目錄下,各類日誌的做用:

  • catalina開頭的日誌爲Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。

  • catalina.2019-xx-xx.log和catalina.out內容相同,前者會天天生成一個新的日誌。

  • host-manager和manager爲管理相關的日誌,其中host-manager爲虛擬主機的管理日誌。

  • localhost和localhost_access爲虛擬主機相關日誌,其中帶access字樣的日誌爲訪問日誌,不帶access字樣的爲默認虛擬主機的錯誤日誌。

訪問日誌默認不會生成,須要在server.xml中配置 

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

生成的日誌後綴,能夠在下圖處更改

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"         //關鍵字logs
prefix="localhost_access_log" suffix=".txt"         //prefix定義訪問日誌的前綴名,suffix定義日誌後綴名
pattern="%h %l %u %t &quot;%r&quot; %s %b" />         //pattern定義日誌格式

給www.123.cn配置日誌

從新加載tomcat配置文件

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

訪問123.cn,便可生成日誌

新增長的虛擬主機默認並不會生成相似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。 關於Tomcat日誌,你最須要關注catalina.out,當出現問題時,咱們應該第一想到去查看它。