Tomcat介紹,安裝jdk,安裝tomcat,配置Tomcat監聽80端口

Tomcat介紹

  • 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

安裝jdk

下載這個jdk-8u151-linux-x64.tar.gzhtml

  • 下載jdk8,放到/usr/local/src/目錄下
  • 解壓 tar zxvf jdk-8u151-linux-x64.tar.gz
  • 挪地方更名字 mv jdk1.8.0_151/ /usr/local/jdk1.8
  • 編輯 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 


JAVA_HOME=/usr/local/jdk1.8/    //JDK的主目錄
JAVA_BIN=/usr/local/jdk1.8/bin  //JDK的主目錄下的bin目錄
JRE_HOME=/usr/local/jdk1.8/jre  //JDK的主目錄下的jre目錄
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin  //添加JDK的bin目錄和jre的bin目錄到PATH中
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar  //Java類文件的路徑
  • 執行生效 source /etc/profile
  • 執行java -version 顯示以下內容說明配置正確
[root@aminglinux-01 local]# source /etc/profile
[root@aminglinux-01 local]# java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

安裝tomcat

cd /usr/local/srcjava

[root@aminglinux-01 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.
[root@aminglinux-01 src]#

查看是否啓動成功,ps aux |grep tomcatmysql

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

  • 查看監聽端口 netstat -lntp |grep java
[root@aminglinux-01 src]# netstat -lntp |grep java
tcp6       0      0 :::8080                 :::*                    LISTEN      5058/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      5058/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      5058/java

三個端口8080爲提供web服務的端口,8005爲管理端口,8009端口爲第三方服務調用的端口,好比httpd和Tomcat結合時會用到web

  • 若想開機啓動,須要把啓動命令放到/etc/rc.d/rc.local

echo "/usr/local/tomcat/bin/startup.sh" >> /etc/rc.d/rc.localsql

chmod a+x /etc/rc.d/rc.local //默認該文件沒有x權限,因此須要加一下數據庫


配置tomcat監聽端口爲80

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

搜索8080 ,找到apache

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

改爲80bootstrap

  • 重啓服務

/usr/local/tomcat/bin/shutdown.shvim

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

[root@aminglinux-01 ~]# !net
netstat -lntp |grep java
tcp6       0      0 :::80                   :::*                    LISTEN      2406/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2406/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      2406/java

若是80端口被其餘服務佔用,先停掉佔用服務,而後重啓tomcat


配置tomcat的虛擬主機

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

搜到host

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
  • 其中<Host>和</Host>之間的配置爲虛擬主機配置部分,name定義域名,

appBase定義應用的目錄,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>

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

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

  • 下面咱們經過部署一個java的應用來體會appBase和docBase目錄的做用
  • 下載zrlog 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
  • 瀏覽器訪問 ip:8080/zrlog/install/
  • 建立數據庫

檢查mysql 有沒有啓動 ps aux |grep mysql

進入mysql

建立一個叫zrlog的數據庫: create database zrlog;

建立用戶: grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'aminglinux1';

檢查用戶是否建立,用新建用戶進入mysql,show databases;看下下面有沒有zrlog


tomcat日誌

  • ls /usr/local/tomcat/logs
[root@aminglinux-01 ~]# ls /usr/local/tomcat/logs/
catalina.2017-11-07.log  host-manager.2017-11-07.log  localhost_access_log.2017-11-07.txt
catalina.out             localhost.2017-11-07.log     manager.2017-11-07.log
[root@aminglinux-01 ~]#
  • 其中catalina開頭的日誌爲Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。
  • 其中catalina.2017-xx-xx.log和catalina.out內容相同,前者會天天生成一個新的日誌。
  • host-manager和manager爲管理相關的日誌,其中host-manager爲虛擬主機的管理日誌。
  • localhost和localhost_access爲虛擬主機相關日誌,其中帶access字樣的日誌爲訪問日誌,不帶access字樣的爲默認虛擬主機的錯誤日誌。
  • 訪問日誌默認不會生成,須要在server.xml中配置一下。在虛擬主機配置的時候後面有定義。

擴展學習

相關文章
相關標籤/搜索