Tomcat

Tomcat官方站点

简单介绍:Tomcat是一个能够运行java页面(jsp)的java’web服务器程序;安装使用之前需要先安装jdk包
  • jdk是JAVA的开发工具包,已随base收录进来,安装jdk1.8版本:
yum -y install java-1.8.0-openjdk-devel (其中jvm虚拟机的运行程序就叫java)```

> 安装完路径:```
/usr/bin/java```,接下来让系统输出一个java的环境变量,让所有应用程序知道到哪找:```java:echo “export JAVA_HOME=/usr” > /etc/profile.d/java.sh (保存在文件内永久有效)```,然后重载生效:```source /etc/profile.d/java.sh```

>  Tomcat也随yum的base仓库收录进来,目前为7版本,安装:```yum install tomcat tomcat-webapps tomcat-admin-webapps -y (确保你的jdk包也安装完成了)```其中主配置文件:```/etc/tomcatserver.xml```;默认网页文件程序的存放目录:```/var/lib/tomcat/webapps/(建议更改路径)```,安装完启动服务,访问IP:8080测试即可 

- 还有一种绿色二进制安装方法:
>将教室环境的```ftp://172.18.0.1/pub/Sources/6.x86_64/tomcat```中最新包下载,默认路径/usr/local下, 将它解压过去:```tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local/```, 然后cd /usr/local将tomcat包生成一个链接(将来升级直接修改链接文件路径即可):```ln -sv apache-tomcat-8.0.23 tomcat```;注意使用tomcat用户启动程序最好(生产环境),而不是默认root权限,所以进入tomcat目录下:useradd -r tomcat(普通用户也成), 更改属主和群组权限:```chown -R tomcat logs/ work/ temp/```   和```chown -R :tomcat ./*    ``` 
记得也需要添加环境变量,因为这样安装不是标准的安装路径,应用程序都找不到tomcat,所以编辑vim /etc/profile.d/tomcat.sh添加两行内容:export CATALINA_HOME=/usr/local/tomcat       export PATH=$CATALINA_HOME/bin/:$PATH  。 
然后加载生效:```source /etc/profile.d/tomcat.sh```;最后切换成tomcat用户进入/usr/local/tomcat/bin执行脚本: ```./catalina.sh start```启动tomcat,测试8080端口 

######进入tomcat的请求可分为两类:
>-  standalone : 请求来自于客户端浏览器; 
>- 由其它的web server反代:来自前端的反代服务器

######配置一个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)
######接下来配置tomcat的虚拟主机:
> 备份主配置文件:cp server.xml server.xml.bak
先定义Engine引擎:

<Engine name=”Catalina”defaultHost=”du.magedu.com”>** Host常用属性说明:appBase:此Host的webapps的默认存放目录;相当于apache的DocumentRoot或nginx的Root (Valve是过滤器组件,定义访问日志和访问控制)** 添加主配置文件内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>```
然后创建网站资源存放目录:
```mkdir /web/apps/ROOT/{lib,classes,WEB-INF,META-INF} -pv```
编写一个jsp页面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重启服务,另找一台主机配置好hosts主机名文件,访问curl http://du.magedu.com:8080/测试 

###### 还可以在Host组件中定义Context上下文(在一个程序下创建一个子程序):(path是指定url路径,docBase是文件资源存放路径,相当于上面的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>

测试时W7的hosts文件要添加IP地址和主机名

![测试时W7的hosts文件要添加IP地址和主机名](http://upload-images.jianshu.io/upload_images/6081607-f7b2cf7efcf91f2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##### 接下来配置nginx动态资源代理:

![location根上一定要加index.jsp;浏览器访问测试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协议(二进制传输速度快也安全):

![](http://upload-images.jianshu.io/upload_images/6081607-fbd850781e90771b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#### 单台tomcat并发处理链接200-500个就不错了;有多台tomcat时,可以配置nginx或apache实现tomcat集群解决方案:
1. 配置两台后端tomcat主机,安装:yum -y install java-1.8.0-openjdk-devel tomcat tomcat-webapps tomcat-admin-webapps,并在/usr/share/tomcat目录下创建一个test目录在里面添加一个jsp页面;实现访问172.18.254.82:8080和172.18.254.18:8080/test/均可访问到页面(另一台tomcat主机同样)
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实现后台tomcat轮询调度: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)
*然后浏览器测试使用httpd主机IP访问,测试tomcat轮询效果;httpd还有一些保持会话的方法,因为生产环境不会用上,这里也不再实验;*
Tomcat会话复制集群:(后端tomcat每个都需要同步会话,保持会话一致;所以容易产生网络堵塞只适合小规模的会话集群;生产中多数还是用session server)

        tomcat会话同步之间使用多播传输;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容