Tomcat簡介
Tomcat 服務(wù)器是一個免費的開放源代碼的Web 應(yīng)用服務(wù)器,Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項目中的一個核心項目:tomcat.apache.org,它的項目名稱為catalina朱转,后來由Apache、Sun 和其他一些公司及個人共同開發(fā)而成寥殖,因為在O’Reilly家出的書的封面是一只湯姆貓寻定,所以軟件更名為Tomcat。Tomcat 是一個小型的輕量級應(yīng)用服務(wù)器鞍恢,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選每窖,因為Tomcat 技術(shù)先進帮掉、性能穩(wěn)定,成為目前比較流行的Web 應(yīng)用服務(wù)器窒典。Tomcat是應(yīng)用(java)服務(wù)器蟆炊,它只是一個servlet容器,是Apache的擴展瀑志,但它是獨立運行的
- JDK(Java Development Kits):Java 開發(fā)套件涩搓,一共分為兩種:
- OpenJDK
- Oracle JDK
注:建議使用OPENJDK,可以不用配置變量信息劈猪,也免除被Oracle敲詐的可能
安裝OPENJDK
#yum -y install java-1.7.0-openjdk.x86_64
安裝tomcat
- 下載安裝包
https://tomcat.apache.org/download-70.cgi
上傳至安裝主機并解壓到指定目錄
解壓安裝包文件
# tar xf apache-tomcat-VERSION.tar.gz -C /usr/local/
切入到文件夾下
# cd /usr/local
創(chuàng)建軟連接
# ln -sv apache-tomcat-VERSION tomcat
- 由于我們是下載的解壓后直接使用的版本昧甘,所以需要設(shè)置變量
切入到文件夾下
cd /etc/profile.d/
新建文件
vim tomcat.sh
添加下面兩條記錄即可
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
- 啟動服務(wù)
# catalina.sh start
查看端口是否打開,tomcat有三個端口,分別是8080战得、8005和8009
[root@7 bin]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::*
LISTEN 0 100 :::8009 :::*
-
在瀏覽器測試
第二種安裝方法
- 因為tomcat已經(jīng)被收入base源充边,所以我們可以直接yum安裝
# yum -y install tomcat-lib tomcat tomcat-admin-webapps tomcat-webapps tomcat-docs-webapp tomcat-webapps
查看安裝的一些配置文件路徑,這兩種配置文件是我們最常用到進行修改的配置文件
[root@node2 bbs]# rpm -ql tomcat
/etc/tomcat/server.xml 注:主配置文件
/etc/tomcat/tomcat-users.xml 注:用戶認(rèn)證的賬號和密碼文件;角色(role)常侦,用戶(User)浇冰;此文件在tomcat啟動時被裝入內(nèi)存;
- 我們這里手工提供一個測試類應(yīng)用聋亡,并冷部署:
切入提供WEB服務(wù)的文件夾肘习,創(chuàng)建一個子文件夾迟螺,并創(chuàng)建相應(yīng)的文件
首先把tomcat服務(wù)停止運行
# catalina.sh stop
# cd /usr/local/tomcat/webapps/
# mkdir -p test/{ classes,lib,WEB-INF,index.jsp}
# vim index.jsp
添加如下代碼:
<%@ page language="java" %>
<%@ page import="java.util.*" %>
----<html>
------ <head>
---------- <title>Test Page</title>
------ </head>
------ <body>
-----------<% out.println("hello world");
-----------%>
------ </body>
----</html> 注:此處‘-’只是為了縮進想表達效果而已廊谓,大家不用照抄
啟動服務(wù)
#catalina.sh start
-
測試頁面
TOMCAT的常用組建
-
Server:代表tomcat instance,即表現(xiàn)出的一個java進程址晕;監(jiān)聽在8005端口,只接收“SHUTDOWN”仅仆。各server監(jiān)聽的端口不能相同器赞,因此,在同一物理主機啟動多個實例時墓拜,需要修改其監(jiān)聽端口為不同的端口
使用telnet 127.0.0.1 8005 連接港柜,只要輸入SHUTDOWN指令,即關(guān)閉tomcat服務(wù)咳榜,建議關(guān)閉此項功能
[root@node2 tomcat]# telnet 127.0.0.1 8005
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SHUTDOWN---->指令
Connection closed by foreign host.
修改方法:編輯tomcat的server.xml配置文件夏醉,把8005端口改成-1即可,或者把SHUTDOWN的值改成隨機數(shù)
# vim /etc/tomcat/server.xml
<Server port="-1" shutdown="SHUTDOWN">
Host組件:位于engine內(nèi)部用于接收請求并進行相應(yīng)處理的主機或虛擬主機
# vim /etc/tomcat/server.xml
測試:
- Context組件:
vim /etc/tomcat/server.xml
測試:
Valve組件:
- Valve存在多種類型:
定義訪問日志:org.apache.catalina.valves.AccessLogValve
定義日志格式名稱
定義訪問控制:org.apache.catalina.valves.RemoteAddrValve
使用NGINX進行反向代理
安裝nginx(注:這里便于測試把nginx裝在tomcat同一臺主機)
# yum -y install nginx
編輯nginx的配置文件
# vim /etc/nginx/nginx.conf
測試:可以看出不加端口號也可以訪問tomcat
使用httpd進行反向代理
安裝httpd服務(wù)(proxy_http_module)
# yum -y install httpd
編輯配置文件(proxy_http_module代理配置示例:)
# vim /etc/httpd/conf.d/http-tomcat.conf
測試:
編輯配置文件:(proxy_ajp_module代理配置示例:)
# vim /etc/httpd/conf.d/ajp-tomcat.conf
測試:
點擊上圖中的Server Status
會彈出驗證窗口
在配置文件中設(shè)置用戶密碼即可
# vim /etc/tomcat/tomcat-users.xml
驗證密碼