tomcat基礎進階

                    tomcat基礎進階


前言

我們在前面的博客中介紹以及實現的web架構都是基于”世界上最好的語言”PHP實現動態web站點, 事實上在當今的web服務器端還經常python,perl,Java Script等編程語言實現動態的web站點, 我們今天就介紹一款實現著名的開源軟件tomcattomcat其實是一個Serlet Container,我們不能將其與nginx,httpd等軟件混淆, tomcat其實是一款用C語言實現的Web Application Server, 就相當于我們之前的php-fpm,本文主要介紹tomcat的安裝及基本使用進階

相關學習資料 
如果要深入理解
tomcat就必須要了解Java的技術體系, 由于本人水平太低, 這里沒法給大家做具體的解釋, 遂提供一些參考資料供大家深入學習.

Tomcat官方站點 
Java Time Line

Tomcat Architecture

blob.png

blob.png

Tomcat Installation

安裝環境及軟件版本:

System:CentOS6.7 
Tomcat
tomcat-8.0.33(binary distributions) 
JDK
java-1.8.0-openjdk.x86_64(yum install)

安裝過程

[root@node1 ~]# [root@node1 ~]# wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz
[root@node1 ~]# tar xf apache-tomcat-8.0.33.tar.gz  -C /usr/local/
[root@node1 ~]# cd /usr/local ; ln -sv apache-tomcat-8.0.33 tomcat ; cd ~
[root@node1 ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.rpm #如果下載出錯, 使用瀏覽器下載
[root@node1 ~]# rpm -ivh jdk-8u77-linux-x64.rpm   #安裝JDK

[root@node1 ~]# vim /etc/profile.d/java.sh     #定義JAVA_HOME
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH

[root@node1 ~]# vim /etc/profile.d/tomcat.sh    #配置tomcat的環境變量
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_BASE/bin:$PATH

[root@node1 ~]# source /etc/profile.d/tomcat.sh
[root@node1 ~]# source /etc/profile.d/java.sh

[root@node1 ~]# catalina.sh start  #啟動tomcat, 默認監聽在8080端口

測試

blob.png

Tomcat basic configuration

如何進入Tomcat manager頁面?

現在我們搭建了最基礎的tomcat服務器, 上面沒有跑我們的JSP腳本, 是tomcat提供的一個manual頁面, 頁面的左上方有幾個圖形界面的管理界面server status,manager appHost manager, 我們需要提供用戶名和密碼才能進入并配置它們

修改/usr/local/tomcat/conf/tomcat-users.xml文件

blob.png

重啟tomcat測試

tomcat默認的用戶認證是basic認證, 不進行加密, 如果有人在你的網絡中進行抓包很容易截獲用戶名密碼..

你現在的表情很可能是下面這樣的

blob.png 

然而, 我們現在登錄manager-gui然后使用wire shark進行抓包 

blob.png

blob.png

所以建議大家不要使用basic認證

(⊙o⊙)…, 剛才有點跑題了, 我們來看一下manager-gui界面, 這是tomcat-status界面, 可以看到內存的占用情況 

blob.png

這是tomcat-host-manager界面, 可以在這這里部署virtual_Host 

blob.png

配置Virtual_Host

我們早已熟悉在httpd,nginx虛擬主機的配置, 我們現在來看看如何在tomcat上配置虛擬主機吧!

對tomcat進行配置之前, 我們需要了解其配置文件的結構

server.xml配置文件的結構

<server>
    <service>
        <connector>
            <Engine>
                <Host>
                    <Context>
                    </Context>
                    ....    
                </Host>
                ....
            </Engine>
            ...
        </connector>
        ...
    </service>
</server>

其中, service是用來連接connector和server的, connector可以有多個, Engine、Host、Context都可以有多個

顧名思義, 我們的虛擬主機應該定義在<Host> </Host> 中

我們先來看一個最簡單的VirtualHost定義

<Host name="www.anyisalin.com" appBase="/data/webapps" />

上述意思為. FQDN為www.anyisalin.com, 虛擬主機的路徑在/data/webapps, 但是我們沒有定義<Context>, <Context>就類似于httpd中的Alias, Nginx中的location


#一次完整的虛擬主機配置過程

[root@node2 conf]# vim server.xml, 在engine中添加如下內容{位置一定要放對}

<Engine name="catalina" defaultHost="web1.anyisalin.com" jvmRoute=TomcatA/>  #修改默認虛擬主機

#添加虛擬主機
<Host name="web1.anyisalin.com" appBase="/data/webapps/" unpackWARS="true" autoDeploy="true">
    <Context path="" docBase="/data/webapps" reloadable="true" />
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs"
         prefix="web1_access_log." suffix=".txt"
         pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

[root@node2 conf]# mkdir -pv /data/webapps/{classes,META-INF,WEB-INF,lib} #創建虛擬主機的主目錄

[root@node2 conf]# cd /data/webapps/
[root@node2 webapps]# vim index.jsp   #創建主頁文件
<%@ page language="java" %>
<html>
  <head><title>TomcatA</title></head>
  <body>
    <h1><font color="red">TomcatA.magedu.com</font></h1>
    <table align="centre" border="1">
      <tr>
        <td>Session ID</td>
    <% session.setAttribute("magedu.com","magedu.com"); %>
        <td><%= session.getId() %></td>
      </tr>
      <tr>
        <td>Created on</td>
        <td><%= session.getCreationTime() %></td>
     </tr>
    </table>
  </body>
</html>

#保存退出, 重啟tomcat
[root@node2 webapps]# catalina.sh stop
[root@node2 webapps]# catalina.sh start

測試虛擬主機

這個頁面文件在我們以后的實驗中有大用??!

blob.png

總結

本篇文章簡單的介紹了tomcat的使用, 下幾篇文章才是重中之重, 大家千萬不要錯過 !

作者水平很低, 如果有錯誤及時指出, 如果你覺得本文寫的好請點一波贊~(≧▽≦)/~ 
作者: AnyISaIln QQ: 1449472454 
感謝: MageEdu

原創文章,作者:Net18-AnyISalIn,如若轉載,請注明出處:http://www.www58058.com/15175

(0)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-04-21
下一篇 2016-04-22

相關推薦

  • 第二章 操作系統發展史

    Linux主流版本:   Debian(英語發音:/?d?bi?n/)是由GPL和其他自由軟件許可協議授權的自由軟件組成的操作系統,由Debian項目(Debian Project)組織維護。   歷史: Debian于1993年8月16日由一名美國普渡大學學生伊恩·默多克(Ian Murdock)首次發表。伊恩·默多克最初把他的系統稱為…

    Linux干貨 2016-06-03
  • lvs初探

    LVS 簡述 HA基礎知識 lvs配置 簡述 什么是lvs? lvs是linux virtual server linux虛擬服務的縮寫,通過一臺調度服務器來調度收到的請求并分發給后端的real server。 lvs的功能是什么? lvs能夠實現在大并發的情況下,將前端調度器收到的請求分發給后端服務器處理,實現了負載均衡集群的作用。 lb基礎知識 lb集群…

    Linux干貨 2016-05-31
  • sed 高級用法(1) 之 n N

    前言 我在參考其它多個Blog中發現,有些Blog中sed的功能介紹和實際有出入,這可能和版本有關系,正如sed文檔中所說“might change in future versions”,所以本文sed是以4.2.1為例。如果以后sed更新版本了,有可能會不一樣。 好記性不如爛筆頭! sed的工作原理 sed維護著兩個數據的緩沖空間,一個是模式空間(pat…

    Linux干貨 2015-07-03
  • ###N25-Bazinga-第一周作業

    ###N25-Bazinga-第一周作業— 1,描述計算機的組成及其功能         計算機基本組成有五部分:     計算機的主要組成部分可以歸納為以下五個部分:控制器、運算器、存儲器、輸入設備、和輸出…

    Linux干貨 2016-12-06
  • 計算機基礎知識及服務器介紹

    現代計算機組成 根據馮·諾依曼結構體系計算機有五大部件組成: 運算器、控制器、存儲器、輸入設備、輸出設備 CPU=運算器+控制器 運算器由算術邏輯單元(ALU)、累加器、狀態寄存器、通用寄存器組等組成。 算術邏輯運算單元(ALU)的基本功能為加、減、乘、除四則運算,與、或、非、異或等邏輯操作,以及移位、求補等操作。 運算器只能進行二進制運算、邏輯運算 控制器…

    Linux干貨 2016-06-09
  • wordpress配置安裝

    1、首先進行lamp框架的搭建 服務器環境:Linux Centos 7.2.1511 64位 內存:2G  磁盤空間100GB IP地址:10.55.10.79 進行httpd,php,php-mysql,mariadb-server的安裝,安裝均使用yum安裝 ~]# yum -y install httpd php php-mysql mar…

    Linux干貨 2016-11-04

評論列表(1條)

欧美性久久久久