tomcat--centos7.3

tomcat------centos7.3
tomcat
apache + tomcat
官网地址:
JDK (java development kit) ,JDK是整个JAVA的核心,包括了JAVA运行环境,JAVA工具和基础类库等。
tomcat8.0.20的安装过程
1,解压安装新版本jdk
# tar xf jdk-8u45-linux-x64.tar.gz -C /usr/local/
# ls /usr/local/jdk1.8.0_45/ ----确认解压成功
bin javafx-src.zip man THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT jre README.html THIRDPARTYLICENSEREADME.txt
db lib release
include LICENSE src.zip
2,解压安装新版本tomcat
# tar xf apache-tomcat-8.0.20.tar.gz -C /usr/local/
# mv /usr/local/apache-tomcat-8.0.20/ /usr/local/tomcat
3,tomcat的环境变量的定义
定义在单个tomcat的启动和关闭程序里
# vim /usr/local/tomcat/bin/startup.sh
# vim /usr/local/tomcat/bin/shutdown.sh
把startup.sh和shutdown.sh这两个脚本里的最前面(但要在#!/bin/bash下在)加上下面一段
export JAVA_HOME=/usr/local/jdk1.8.0_45/
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASS_PATH=$JAVA_HOME/bin/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tool.jar
export PATH=$PATH:/usr/local/jdk1.8.0_45/bin:/usr/local/tomcat/bin
启动方法
# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/jdk1.8.0_45/
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
# lsof -i:8080 --端口还是8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 4224 root 44u IPv6 40596 0t0 TCP *:webcache (LISTEN)
使用firefox访问
可以加到rc.local里做成开机自动启动
# echo /usr/local/tomcat/bin/startup.sh >> /etc/rc.local
关闭方法
# /usr/local/tomcat/bin/shutdown.sh
家目录路径:
# /usr/local/tomcat/webapps/ROOT/
=============================================================================
修改监听端口
# vim /usr/local/tomcat/conf/server.xml
<Connector port="80" protocol="HTTP/1.1" --把8080改成80的话重启后就监听80
connectionTimeout="20000"
redirectPort="8443" />
--测试后再改回8080端口
-------------------------------------
目录布署
# mkdir /usr/local/tomcat/webapps/abc
--把abc目录与ROOT同级或者是在ROOT的下一级都是可行的
# vim /usr/local/tomcat/webapps/abc/time.jsp
<html>
<body>
<center>
<H1><%=new java.util.Date()%></H1>
</center>
</body>
</html>
=====================================================================
安装完tomcat后,就可以将开发的java应用装上进行测试了
因为java开发的开源应用非常少,并且很多不支持较新版本的tomcat,我们这里又是实验环境,所以这里简单安装一个jspxcms让大家看下效果
一个开源的java cms系统jspxcms(java内容管理系统)
软件包:
jspxcms-5.2.4-release.zip
步骤:
1,解压jspxcms
# rm /usr/local/tomcat/webapps/ROOT/* -rf --解压之前先删除原来家目录里的文件
# unzip jspxcms-5.2.4-release.zip -d /usr/local/tomcat/webapps/
2,去mysql建一个库,进行授权
# yum install mariadb mariadb-server -y
# systemctl restart mariadb.service
# systemctl status mariadb.service
# systemctl enable mariadb.service
# mysql
MariaDB [(none)]> create database jspxcms;
MariaDB [(none)]> grant all on jspxcms.* to 'li'@'localhost' identified by '123';
MariaDB [(none)]> flush privileges;
3,使用firefox的下面路径按照它的步骤进行安装
5,重启tomcat后,再使用下面路径访问就可以了
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
前台访问地址:
后台访问地址:(需要admin用户和其密码登录才有权限)
==================================================================================
nginx
tomcat1 tomcat2
memcached
下面就配置nginx+tomcat+msm(memcached-session-manager)做综合应用
下图中:
1.1.1.0/24网络我模拟外网(这里我用vmware的vmnet1来模拟)
172.16.0.0/16网络我模拟内网(这里我用vmware的vmnet0网络来模拟)
nginx解析静态页面并将动态负载均衡调度给后面多个tomcat
tomcat解析java动态程序
client 10.1.1.9
|
|
| 10.1.1.10
nginx
192.168.122.127
|
|
|-----------------------------|
tomcat1 tomcat2
192.168.122.128 192.168.122.129
| |
|-----------------------------|
|
|
192.168.122.130 memcache服务器
实验前准备:
1,主机名三步绑定
172.16.2.13 nginx.cluster.com
172.16.2.10 tomcat1.cluster.com
172.16.2.11 tomcat2.cluster.com
172.16.2.12 memcached.cluster.com
2,时间同步
3,关闭iptables,selinux
4,配置yum
第一步:
1,在172.16.2.13上安装nginx
# yum install nginx -y
2,配置nginx
(部分省略)
upstream tomcat {
server 172.16.2.10:8080 weight=1;
server 172.16.2.11:8080 weight=1;
}
location ~ .*\.jsp$ {
proxy_pass http://tomcat;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
# systemctl start nginx
# systemctl status nginx
# systemctl enable nginx
第二步:
在172.16.2.10和172.16.2.11上安装两台tomcat(过程省略,建议tomcat重新安装,因为如果前面tomcat安装了jspxcms这个应用的话,会对后面的测试造成影响)
tomcat1和tomcat2上把下面的软件包都scp到/usr/local/tomcat/lib/目录下
# ls 笔记目录/program/tomcat_soft/msm/ --这些软件包是针对tomcat8的,如果你是tomcat6或者tomcat7你需要自行网上下载
asm-3.2.jar msm-kryo-serializer-1.8.1.jar
kryo-1.04.jar reflectasm-1.01.jar
memcached-session-manager-1.8.1.jar serializers-0.11.jar
memcached-session-manager-tc8-1.8.1.jar spymemcached-2.11.1.jar
minlog-1.2.jar
第三步:
在tomcat1和tomcat2上操作
# vim /usr/local/tomcat/conf/context.xml (在此文件的<Context>和</Context>里面加上下面一段)
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.16.2.12:11211" --这里的ip为memcached服务器的IP,如果有多个memcached服务器,用逗号隔开
lockingMode="auto"
sticky="false"
requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"
sessionBackupAsync= "false"
sessionBackupTimeout= "100"
copyCollectionsForSerialization="true"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory" />
并把两台tomcat分别启动(如果你先前启动了要重启)
# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/startup.sh
# lsof -i:8080
第四步:
在172.16.2.12上安装并启动memcached
# yum install memcached
# systemctl start memcached.service
# systemctl status memcached.service
# systemctl enable memcached.service
# lsof -i:11211
第五步:
我这里nginx,tomcat1,tomcat2是合起来做一个应用,所以它们的家目录里的内容应该是一样的,如何让一个应用内容在它们那里一致?
方法1:远程实时rsync同步
方法2:共享存储或分布式存储(后面课程会讲,但现在也可以使用nfs来模拟共享存储)
在nginx的家目录/usr/share/nginx/html里,并且在tomcat1和tomcat2的家目录/usr/local/tomcat/webapps/ROOT/里建立一个测试文件(如果有nfs做共享存储,则只需要建立一次就可以了)
# vim session.jsp
SessionID:<%=session.getId()%> <BR>
SessionIP:<%=request.getServerName()%> <BR>
SessionPort:<%=request.getServerPort()%>
第六步:
确认nginx和tomcat1和tomcat2和memcached都是启动状态,客户端使用firefox来测试
测试一:
http://1.1.1.128/session.jsp --不断F5刷新,sessionID是不变的
elinks -dump http://1.1.1.128/session.jsp --不要使用这种方式来测,这样测试session id是会变的(elinks不能像firefox那样存放session id),但也会存储到memcache中
在memcache服务器上进行下面的操作
# echo "stats cachedump 3 0" | nc 172.16.2.12 11211 > /tmp/session.txt
# cat /tmp/session.txt |head -1 --导出的第一行的session ID就等于上面页面刷新时的session id,说明session id确实存放在memcache里
ITEM validity:A8F853F36B9931DD5ADF51DFB806A0CF-n1 [20 b; 1442225217 s]
测试二:
分别把tomcat1和tomcat2里的第三步做的加到/usr/local/tomcat/conf/context.xml这个文件里的一段给注释掉,重启tomcat,再做上面的测试
posted @ 2018-06-19 22:01  Sky-wings  阅读(284)  评论(0编辑  收藏  举报