tomcat基礎進階
前言
我們在前面的博客中介紹以及實現的
web
架構都是基于”世界上最好的語言”PHP
實現動態web
站點, 事實上在當今的web
服務器端還經常python
,perl
,Java Script
等編程語言實現動態的web
站點, 我們今天就介紹一款實現著名的開源軟件tomcat
;tomcat
其實是一個Serlet Container
,我們不能將其與nginx
,httpd
等軟件混淆,tomcat
其實是一款用C語言實現的Web Application Server
, 就相當于我們之前的php-fpm
,本文主要介紹tomcat
的安裝及基本使用進階相關學習資料
如果要深入理解tomcat
就必須要了解Java
的技術體系, 由于本人水平太低, 這里沒法給大家做具體的解釋, 遂提供一些參考資料供大家深入學習.
Tomcat Architecture
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端口
測試
Tomcat basic configuration
如何進入Tomcat manager頁面?
現在我們搭建了最基礎的
tomcat
服務器, 上面沒有跑我們的JSP
腳本, 是tomcat
提供的一個manual
頁面, 頁面的左上方有幾個圖形界面的管理界面server status
,manager app
,Host manager
, 我們需要提供用戶名和密碼才能進入并配置它們
修改/usr/local/tomcat/conf/tomcat-users.xml
文件
重啟tomcat
測試
tomcat
默認的用戶認證是basic
認證, 不進行加密, 如果有人在你的網絡中進行抓包很容易截獲用戶名密碼..你現在的表情很可能是下面這樣的
![]()
然而, 我們現在登錄
manager-gui
然后使用wire shark
進行抓包
所以建議大家不要使用
basic
認證(⊙o⊙)…, 剛才有點跑題了, 我們來看一下
manager-gui
界面, 這是tomcat-status
界面, 可以看到內存的占用情況
這是
tomcat-host-manager
界面, 可以在這這里部署virtual_Host
配置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 "%r" %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
測試虛擬主機
這個頁面文件在我們以后的實驗中有大用??!
總結
本篇文章簡單的介紹了
tomcat
的使用, 下幾篇文章才是重中之重, 大家千萬不要錯過 !作者水平很低, 如果有錯誤及時指出, 如果你覺得本文寫的好請點一波贊~(≧▽≦)/~
作者: AnyISaIln QQ: 1449472454
感謝: MageEdu
原創文章,作者:Net18-AnyISalIn,如若轉載,請注明出處:http://www.www58058.com/15175
[…] 我們首先配置Tomcat, 安裝過程這里不做敘述, 不明白的可以看我上篇博客:?tomcat基礎進階 […]