Tomcat官方站點(diǎn)
簡(jiǎn)單介紹:Tomcat是一個(gè)能夠運(yùn)行java頁(yè)面(jsp)的java’web服務(wù)器程序;安裝使用之前需要先安裝jdk包
- jdk是JAVA的開(kāi)發(fā)工具包遵绰,已隨base收錄進(jìn)來(lái)街立,安裝jdk1.8版本:
yum -y install java-1.8.0-openjdk-devel (其中jvm虛擬機(jī)的運(yùn)行程序就叫java)```
> 安裝完路徑:```
/usr/bin/java```,接下來(lái)讓系統(tǒng)輸出一個(gè)java的環(huán)境變量埠通,讓所有應(yīng)用程序知道到哪找:```java:echo “export JAVA_HOME=/usr” > /etc/profile.d/java.sh (保存在文件內(nèi)永久有效)```端辱,然后重載生效:```source /etc/profile.d/java.sh```
> Tomcat也隨yum的base倉(cāng)庫(kù)收錄進(jìn)來(lái),目前為7版本荣病,安裝:```yum install tomcat tomcat-webapps tomcat-admin-webapps -y (確保你的jdk包也安裝完成了)```其中主配置文件:```/etc/tomcatserver.xml```渗柿;默認(rèn)網(wǎng)頁(yè)文件程序的存放目錄:```/var/lib/tomcat/webapps/(建議更改路徑)```,安裝完啟動(dòng)服務(wù)颊亮,訪問(wèn)IP:8080測(cè)試即可
- 還有一種綠色二進(jìn)制安裝方法:
>將教室環(huán)境的```ftp://172.18.0.1/pub/Sources/6.x86_64/tomcat```中最新包下載终惑,默認(rèn)路徑/usr/local下, 將它解壓過(guò)去:```tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local/```偿渡, 然后cd /usr/local將tomcat包生成一個(gè)鏈接(將來(lái)升級(jí)直接修改鏈接文件路徑即可):```ln -sv apache-tomcat-8.0.23 tomcat```霸奕;注意使用tomcat用戶啟動(dòng)程序最好(生產(chǎn)環(huán)境),而不是默認(rèn)root權(quán)限坑质,所以進(jìn)入tomcat目錄下:useradd -r tomcat(普通用戶也成)涡扼, 更改屬主和群組權(quán)限:```chown -R tomcat logs/ work/ temp/``` 和```chown -R :tomcat ./* ```
記得也需要添加環(huán)境變量盟庞,因?yàn)檫@樣安裝不是標(biāo)準(zhǔn)的安裝路徑,應(yīng)用程序都找不到tomcat票彪,所以編輯vim /etc/profile.d/tomcat.sh添加兩行內(nèi)容:export CATALINA_HOME=/usr/local/tomcat export PATH=$CATALINA_HOME/bin/:$PATH 降铸。
然后加載生效:```source /etc/profile.d/tomcat.sh```摇零;最后切換成tomcat用戶進(jìn)入/usr/local/tomcat/bin執(zhí)行腳本: ```./catalina.sh start```啟動(dòng)tomcat,測(cè)試8080端口
######進(jìn)入tomcat的請(qǐng)求可分為兩類:
>- standalone : 請(qǐng)求來(lái)自于客戶端瀏覽器谅畅;
>- 由其它的web server反代:來(lái)自前端的反代服務(wù)器
######配置一個(gè)Connector連接器接口:
> ```<Connector port=”18080″ protocol=”HTTP/1.1″ address=”172.18.254.18″ maxThreads=”300″ enableLookups=”no” connectionTimeout=”20000″ redirectPort=”8443″ />```
- 如下圖:
![](http://upload-images.jianshu.io/upload_images/6081607-dec603bf424ac902.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
######接下來(lái)配置tomcat的虛擬主機(jī):
> 備份主配置文件:cp server.xml server.xml.bak
先定義Engine引擎:
<Engine name=”Catalina”defaultHost=”du.magedu.com”>** Host常用屬性說(shuō)明:appBase:此Host的webapps的默認(rèn)存放目錄毡泻;相當(dāng)于apache的DocumentRoot或nginx的Root (Valve是過(guò)濾器組件粘优,定義訪問(wèn)日志和訪問(wèn)控制)** 添加主配置文件內(nèi)Host上下文:
<Host name=”du.magedu.com” appBase=”/web/apps”unpackWARs=”true” autoDeploy=”true”>```
prefix=”du_access” suffix=”.log”
pattern=”%h %l %u %t "%r" %s %b” />
</Host>```
然后創(chuàng)建網(wǎng)站資源存放目錄:
```mkdir /web/apps/ROOT/{lib,classes,WEB-INF,META-INF} -pv```
編寫(xiě)一個(gè)jsp頁(yè)面nano /web/apps/ROOT/index.jsp,例:
<%@ page language="java" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>Test Page</title>
</head>
<body>
<% out.println("hello world");
%>
</body>
</html>
然后systemctl restart tomcat重啟服務(wù)芬位,另找一臺(tái)主機(jī)配置好hosts主機(jī)名文件昧碉,訪問(wèn)curl http://du.magedu.com:8080/測(cè)試
###### 還可以在Host組件中定義Context上下文(在一個(gè)程序下創(chuàng)建一個(gè)子程序):(path是指定url路徑揽惹,docBase是文件資源存放路徑,相當(dāng)于上面的appBase)
<Context path="/test" docBase="test" reloadable="">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="node1_test_access_" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
</Context>
測(cè)試時(shí)W7的hosts文件要添加IP地址和主機(jī)名
![測(cè)試時(shí)W7的hosts文件要添加IP地址和主機(jī)名](http://upload-images.jianshu.io/upload_images/6081607-f7b2cf7efcf91f2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##### 接下來(lái)配置nginx動(dòng)態(tài)資源代理:
![location根上一定要加index.jsp狭握;瀏覽器訪問(wèn)測(cè)試http://172.18.254.18/](http://upload-images.jianshu.io/upload_images/6081607-c5a4d3bdfc506a84.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##### apache的模塊代理后端tomcat:vim /etc/httpd/conf.d/tomcat-http.conf
![](http://upload-images.jianshu.io/upload_images/6081607-ad1eced28702edf9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##### 使用apache代理tomcat還有ajp協(xié)議(二進(jìn)制傳輸速度快也安全):
![](http://upload-images.jianshu.io/upload_images/6081607-fbd850781e90771b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### 單臺(tái)tomcat并發(fā)處理鏈接200-500個(gè)就不錯(cuò)了论颅;有多臺(tái)tomcat時(shí)囱嫩,可以配置nginx或apache實(shí)現(xiàn)tomcat集群解決方案:
1. 配置兩臺(tái)后端tomcat主機(jī)墨闲,安裝:yum -y install java-1.8.0-openjdk-devel tomcat tomcat-webapps tomcat-admin-webapps,并在/usr/share/tomcat目錄下創(chuàng)建一個(gè)test目錄在里面添加一個(gè)jsp頁(yè)面盾鳞;實(shí)現(xiàn)訪問(wèn)172.18.254.82:8080和172.18.254.18:8080/test/均可訪問(wèn)到頁(yè)面(另一臺(tái)tomcat主機(jī)同樣)
2. 配置前端nginx瞻离,vim /etc/nginx/nginx.conf:
![](http://upload-images.jianshu.io/upload_images/6081607-714d99204ebad737.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3. 配置前端apache實(shí)現(xiàn)后臺(tái)tomcat輪詢調(diào)度:vim /etc/httpd/conf.d/tomcat-httpd.conf
![](http://upload-images.jianshu.io/upload_images/6081607-202a7c61386b093f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
*然后瀏覽器測(cè)試使用httpd主機(jī)IP訪問(wèn)套利,測(cè)試tomcat輪詢效果;httpd還有一些保持會(huì)話的方法,因?yàn)樯a(chǎn)環(huán)境不會(huì)用上惰蜜,這里也不再實(shí)驗(yàn)昂拂;*
Tomcat會(huì)話復(fù)制集群:(后端tomcat每個(gè)都需要同步會(huì)話,保持會(huì)話一致抛猖;所以容易產(chǎn)生網(wǎng)絡(luò)堵塞只適合小規(guī)模的會(huì)話集群格侯;生產(chǎn)中多數(shù)還是用session server)
tomcat會(huì)話同步之間使用多播傳輸鼻听;