01-安装Tomcat
# 0.下载tomcat
http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.46/bin/apache-tomcat-8.5.46.tar.gz
# 1.通过工具上传到Linux系统中
# 2.解压缩到/usr目录中
[root@localhost ~]# tar -zxvf apache-tomcat-8.5.46.tar.gz -C /usr/
-C 用来指定解压缩的位置
# 3.查看解压内容
[root@localhost apache-tomcat-8.5.46]# ls -l
总用量 124
drwxr-x---. 2 root root 4096 10月 13 12:27 bin
-rw-r-----. 1 root root 19318 9月 17 02:19 BUILDING.txt
drwx------. 2 root root 238 9月 17 02:19 conf
-rw-r-----. 1 root root 5407 9月 17 02:19 CONTRIBUTING.md
drwxr-x---. 2 root root 4096 10月 13 12:27 lib
-rw-r-----. 1 root root 57011 9月 17 02:19 LICENSE
drwxr-x---. 2 root root 6 9月 17 02:17 logs
-rw-r-----. 1 root root 1726 9月 17 02:19 NOTICE
-rw-r-----. 1 root root 3255 9月 17 02:19 README.md
-rw-r-----. 1 root root 7139 9月 17 02:19 RELEASE-NOTES
-rw-r-----. 1 root root 16262 9月 17 02:19 RUNNING.txt
drwxr-x---. 2 root root 30 10月 13 12:27 temp
drwxr-x---. 7 root root 81 9月 17 02:17 webapps
drwxr-x---. 2 root root 6 9月 17 02:17 work
# 4.启动tomcat
[root@localhost apache-tomcat-8.5.46]# ./bin/startup.sh
# 5.关闭网络防火墙
systemctl stop firewalld 关闭网络防火墙
systemctl disable firewalld 关闭开机自启动(永久关闭)
# 6.在windows中访问tomcat
http://10.15.0.8:8080/
# 7.显示tomcat实时控制台信息
进入tomcat的logs目录中使用tail -f catalina.out 命令实时查看控制台信息
# 8.关闭tomcat
在tomcat的bin目录下面使用 ./shutdown.sh
注意:使用shutdown.sh不能结束进程,可以先查询tomcat的进程然后杀死进程。
02-Tomcat负载均衡集群
# 0.准备多个tomcat
tar -zxvf apache-tomcat-8.5.46.tar.gz #解压缩一个新的tomcat安装包
mv apache-tomcat-8.5.46 tomcat1 #将名称改为tomcat1
cp -r tomcat1/ tomcat2 #复制一份
cp -r tomcat1/ tomcat3 #复制一份
# 1.此时当前目录中有三个服务器,如下:
[root@localhost ~]# ls -l
总用量 12248
-rwxrwxrwx. 1 root root 11623939 10月 13 12:25 apache-tomcat-8.5.46.tar.gz
drwxr-xr-x. 9 root root 220 10月 14 21:28 tomcat1
drwxr-xr-x. 9 root root 220 10月 14 21:38 tomcat2
drwxr-xr-x. 9 root root 220 10月 14 21:38 tomcat3
# 2.修改tomcat1端口号:(伪分布式)
vim tomcat1/conf/server.xml,命令修改如下内容:
a.<Server port="8001" shutdown="SHUTDOWN"> ---关闭端口
b.<Connector port="8888" protocol="HTTP/1.1" ---http协议端口
connectionTimeout="20000"
redirectPort="8443" />
c.<Connector port="10010" protocol="AJP/1.3" redirectPort="8443" /> ---AJP协议端口
# 3.修改tomcat2端口号:(伪分布式)
vim tomcat2/conf/server.xml,命令修改如下内容:
a.<Server port="8002" shutdown="SHUTDOWN">
b.<Connector port="8889" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
c.<Connector port="10011" protocol="AJP/1.3" redirectPort="8443" />
# 4.修改tomcat3端口号:(伪分布式)
vim tomcat2/conf/server.xml,命令修改如下内容:
a.<Server port="8003" shutdown="SHUTDOWN">
b.<Connector port="8890" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
c.<Connector port="10012" protocol="AJP/1.3" redirectPort="8443" />
# 5.将多个tomcat启动:
tomcat1/bin/startup.sh
tomcat2/bin/startup.sh
tomcat3/bin/startup.sh
# 6.查看tomcat是否启动成功
ps -aux|grep tomcat
# 7.在windows中分别访问tomcat,都看到主页代表启动成功:
http://10.15.0.8:8888/
http://10.15.0.8:8889/
http://10.15.0.8:8890/
注意:这步一定要关闭网路防火墙
# 8.将多个tomcat配置到nginx的配置文件中:
1).进入nginx的sbin目录关掉nginx服务
./nginx -s stop
2).进入conf目录,然后编辑nginx.conf文件
vi nginx.conf
3).在server标签上加入如下配置:
upstream tomcat-servers {
server 192.168.80.130:8090;
server 192.168.80.130:8091;
server 192.168.80.130:8092;
}
4).把配置文件里的如下配置注释掉(server配置里)
location / {
root html;
index index.html index.htm;
}
5).将配置文件中 location /替换为如下配置:
location / {
proxy_pass http://tomcat-servers;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
# 9.进入nginx安装目录sbin目录启动nginx
./nginx -c /usr/nginx/conf/nginx.conf
# 10.访问nginx,看到其中一个tomcat画面:
http://10.15.0.8/
03-MSM配置
Memcached Session Manager基于memcache缓存的session共享.即使用cacheDB存取session信息,应用服务器接受新请求将session信息保存在cache DB中,当应用服务器发生故障时,调度器会遍历寻找可用节点,分发请求,当应用服务器发现session不在本机内存时,则去cacheDB中查找,如果找到则复制到本机,这样实现session共享和高可用。
# 0.准备一个memcache服务
# 1.安装memcached
yum install -y memcached
# 2.启动memcached
memcached -p 11211 -vvv -u root
# 3.tomcat安装的lib目录中放入与memcache整合jar包
cp *.jar tomcat1/lib
cp *.jar tomcat2/lib
cp *.jar tomcat3/lib
# 4.配置tomcat目录中conf目录中context.xml(所有tomcat均需要配置)
<Context>
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:10.15.0.8:11211"
sticky="false"
sessionBackupAsync="false"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
</Context>
# 5.放入测试项目进行测试