Tomcat 安裝與配置

1. Tomcat 簡(jiǎn)介

  • Tomcat 是由Apache 軟件基金會(huì)下的項(xiàng)目, Tomcat 實(shí)現(xiàn)了 Servlet 和 JavaServer Page(JSP) 的支持, 提供了作為Web 服務(wù)器的功能, 由Tomcat 本身也內(nèi)含HTTP服務(wù)器, 也可以單獨(dú)視為Web服務(wù)器.

  • 不可以把 Tomcat 和 HTTP服務(wù)器 混淆, Apache HTTP 服務(wù)器使用C 余元實(shí)現(xiàn)的 HTTP Web服務(wù)器, Apache Tomcat 包含了配置管理工具, 也可以通過(guò)XML 格式的配置文件來(lái)進(jìn)行配置.

  • Tomcat 提供了一個(gè)Jasper 編譯器, 用以將JSP 編譯成對(duì)應(yīng)的Servlet, Tomcat 的Sevelet 引擎通常用于引擎和 Apache 或者其他Web 服務(wù)器, 一起工作, 純用于開發(fā)過(guò)程調(diào)用以及那些對(duì)速度和事務(wù)處理只有很小要求的用戶, 很少會(huì)將 Tomcat 作為單獨(dú)的Web 服務(wù)器.

2. 配置 JAVA 環(huán)境

    1. 準(zhǔn)備安裝包
[root@node10009 src]# ls ./jdk-8u131-linux-x64.tar.gz 
./jdk-8u131-linux-x64.tar.gz
    1. 解壓并移動(dòng)
[root@node10009 src]# tar zxf jdk-8u131-linux-x64.tar.gz 
[root@node10009 src]# cp -r jdk1.8.0_131/ /opt/app/jdk1.8
    1. 修改環(huán)境變量
vim /etc/profile
# 底部增加
JAVA_HOME=/opt/app/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$PATH:$JAVA_HOME/bin
    1. 測(cè)試
[root@node10009 app]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@node10009 app]# 

3. Tomcat 安裝

    1. 下載
[root@node10009 src]# ls ./apache-tomcat-9.0.4.tar.gz 
./apache-tomcat-9.0.4.tar.gz
[root@node10009 src]# 
    1. 解壓
[root@node10009 src]# tar zxf apache-tomcat-9.0.4.tar.gz 
[root@node10009 src]# ls -ld apache-tomcat-9.0.4
drwxr-xr-x 9 root root 160 Dec 25 22:00 apache-tomcat-9.0.4
    1. 將tomcat 移動(dòng)并拷貝
[root@node10009 src]# cp -r apache-tomcat-9.0.4 /opt/app/tomcat 
[root@node10009 src]# cd /opt/app/tomcat/
[root@node10009 tomcat]# ls
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
    1. 啟動(dòng)
[root@node10009 app]# startup.sh 
Using CATALINA_BASE:   /opt/app/tomcat
Using CATALINA_HOME:   /opt/app/tomcat
Using CATALINA_TMPDIR: /opt/app/tomcat/temp
Using JRE_HOME:        /opt/app/jdk1.8
Using CLASSPATH:       /opt/app/tomcat/bin/bootstrap.jar:/opt/app/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@node10009 app]# ss -tan | grep 80
LISTEN     0      100         :::8080                    :::*                  
LISTEN     0      1         ::ffff:127.0.0.1:8005                    :::*                  
LISTEN     0      100         :::8009                    :::*                  
TIME-WAIT  0      0          ::1:42232                  ::1:8009               
TIME-WAIT  0      0          ::1:52006                  ::1:8080               
[root@node10009 app]# 
    1. 測(cè)試
tomcat.png

4. 設(shè)置虛擬主機(jī)

  • 修改配置文件
  ...
  ...
  <!-- 虛擬主機(jī) -->
  <Service name="testVhost">
    <Connector port="800" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="809" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="testVhost" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>
      <Host name="localhost"  appBase="myapp"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="testVhost_access_log" suffix=".txt"
               pattern="%{X-Real-IP}i %h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
  ...
  • 添加測(cè)試項(xiàng)目
[root@node10009 tomcat]# 
[root@node10009 tomcat]# ls myapp/
docs  examples  host-manager  manager  ROOT
[root@node10009 tomcat]# cat myapp/ROOT/index.jsp 
<%@ page session="false" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>
<h1>Hello JSP</h1>
<%
out.print("test jsppage");
%>

[root@node10009 tomcat]# 
  • 重啟服務(wù)
[root@node10009 tomcat]# ./bin/catalina.sh stop
Using CATALINA_BASE:   /opt/app/tomcat
Using CATALINA_HOME:   /opt/app/tomcat
Using CATALINA_TMPDIR: /opt/app/tomcat/temp
Using JRE_HOME:        /opt/app/jdk1.8
Using CLASSPATH:       /opt/app/tomcat/bin/bootstrap.jar:/opt/app/tomcat/bin/tomcat-juli.jar
^[[A[root@node10009 tomcat]# ./bin/catalina.sh start
Using CATALINA_BASE:   /opt/app/tomcat
Using CATALINA_HOME:   /opt/app/tomcat
Using CATALINA_TMPDIR: /opt/app/tomcat/temp
Using JRE_HOME:        /opt/app/jdk1.8
Using CLASSPATH:       /opt/app/tomcat/bin/bootstrap.jar:/opt/app/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@node10009 tomcat]#
  • 測(cè)試
jsp.png

5. 測(cè)試前端使用 Nginx 代理

  • 編輯nginx 配置文件
    • 添加 proxy_pass 將指定端口的請(qǐng)求轉(zhuǎn)發(fā)到后端的tomcat
upstream localtomcat {
    server 127.0.0.1:8080;
} 
...
server {
    listen 80; 
    server_name     localhost;
    location ~ .*$ {
        proxy_pass  http://localtomcat;
        proxy_redirect  off;
        proxy_set_header    Host    $host;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size    10m;
        proxy_connect_timeout   60; 
        proxy_send_timeout      60; 
        proxy_read_timeout      60; 
        proxy_buffer_size       4k; 
        proxy_temp_file_write_size  64k;
    }   
}
...
  • 修改tomcat 配置文件
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       prefix="localhost_access_log" suffix=".txt"
       pattern="%{X-Real-IP}i %h %l %u %t &quot;%r&quot; %s %b" />
  • 測(cè)試
n-t.png

END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末臭杰,一起剝皮案震驚了整個(gè)濱河市汉形,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绍撞,老刑警劉巖露戒,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硕旗,死亡現(xiàn)場(chǎng)離奇詭異争舞,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)枷遂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門樱衷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人酒唉,你說(shuō)我怎么就攤上這事矩桂。” “怎么了痪伦?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵侄榴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我流妻,道長(zhǎng)牲蜀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任绅这,我火速辦了婚禮,結(jié)果婚禮上在辆,老公的妹妹穿的比我還像新娘证薇。我一直安慰自己,他們只是感情好匆篓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布浑度。 她就那樣靜靜地躺著,像睡著了一般鸦概。 火紅的嫁衣襯著肌膚如雪箩张。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音先慷,去河邊找鬼饮笛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛论熙,可吹牛的內(nèi)容都是我干的福青。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脓诡,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼无午!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起祝谚,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤宪迟,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后交惯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體踩验,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年商玫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了箕憾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拳昌,死狀恐怖袭异,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情炬藤,我是刑警寧澤御铃,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站沈矿,受9級(jí)特大地震影響上真,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜羹膳,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一睡互、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧陵像,春花似錦就珠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泞歉,卻和暖如春逼侦,著一層夾襖步出監(jiān)牢的瞬間匿辩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工榛丢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铲球,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓涕滋,卻偏偏與公主長(zhǎng)得像睬辐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子宾肺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容