文章目录
- web应用服务器tomcat
- Tomcat功能及介绍
- 配置tomcat服务器
- 生成tomcat启动文件
- nginx反向代理
- session共享服务器
web应用服务器tomcat
Tomcat功能及介绍
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和 并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML页面的功能,它还是一个Servlet和 JSP容器起始于SUN 公司的一个Servlet的参考实现项目 Java Web Server,开发者是 James Duncan Davidson, 在1999年,将项目贡献给了apache软件基金会(ASF),和ASF现有的项目 JServ 合并,并开源成为顶级 项目 Tomcat 仅仅实现了Java EE规范中与Servlet、JSP相关的类库,是JavaEE不完整实现。 1999年发布初始版本是Tomcat 3.0,实现了Servlet 2.2 和 JSP 1.1规范。 Tomcat 4.x发布时,内建了Catalina(Servlet容器)和 Jasper(JSP engine)等 当前 Tomcat 的正式版本已经更新到 10.0.x 版本,但当前企业中主流版本为 8.x 和 7.x
配置tomcat服务器
1、安装jdk1.8.0环境
[root@tomcat1 ~]# yum install -y java-1.8.0-openjdk.x86_64
2、安装、启动tomcat
[root@tomcat ~]# tar zxf apache-tomcat-9.0.91.tar.gz -C /usr/local/
[root@tomcat ~]# ln -s /usr/local/apache-tomcat-9.0.91/ /usr/local/tomcat
[root@tomcat ~]# /usr/local/tomcat/bin/startup.sh
3、查看端口
[root@tomcat ~]# netstat -antlupe | grep java
tcp6 0 0 :::8080 :::* LISTEN 0
68636 32887/java
4、访问测试
生成tomcat启动文件
1、生成tomcat主配置文件
[root@tomcat ~]# vim /usr/local/tomcat/conf/tomcat.conf
JAVA_HOME=/etc/alternatives/jre_openjdk
2、生成启动文件
[root@tomcat ~]# useradd -s /sbin/nologin -M tomcat
[root@tomcat ~]# chown -R tomcat.tomcat /usr/local/tomcat/
[root@tomcat ~]# vim /lib/systemd/system/tomcat.service
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
[Service]
Type=forking
EnvironmentFile=/usr/local/tomcat/conf/tomcat.conf
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
3、重载守护进程
[root@tomcat ~]# systemctl daemon-reload
[root@tomcat ~]# systemctl enable --now tomcat
nginx反向代理
浏览器每次向服务器发送请求时,服务器利用session技术随机生成sessionID发送给浏览器,浏览器将此值保存至cookie中,通过cookie、session机制来减轻服务器的压力
cookie值保存时间短,服务器端如果故障,即使Session被持久化了,但是服务没有恢复前都不能使用这些SessionID
nginx服务器相关配置
[root@nginx ~]# cat /usr/local/nginx/conf.d/vhost.conf
upstream tomcat {
hash $cookie_JSESSIONID; hash浏览器cookie
server 192.168.84.140:8080;
server 192.168.84.141:8080;
}
server {
listen 80;
server_name var.nginx.com;
root /www/web;
try_files $uri.html $uri $uri/index.html /error/default.html;
location ~ \.jsp$ {
proxy_pass http://192.168.84.141:8080;
}
}
memcache安装配置
[root@tomcat ~]# yum install memcached -y
[root@tomcat ~]# vim /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 0.0.0.0,::1"
[root@tomcat ~]# systemctl enable --now memcached
[root@tomcat ~]# netstat -antlupe | grep memcache
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN
980 97815 34711/memcached
session共享服务器
将sessionID存储至memcache中实现高可用
1、安装相关软件包
[root@tomcat2 ~]# ls /usr/local/tomcat/lib/
kryo-3.0.3.jar
asm-5.2.jar
objenesis-2.6.jar
reflectasm-1.11.9.jar
minlog-1.3.1.jar
kryo-serializers-0.45.jar
msm-kryo-serializer-2.3.2.jar
memcached-session-manager-tc9-2.3.2.jar
spymemcached-2.12.3.jar
memcached-session-manager-2.3.2.jar
2、修改tomcate配置
[root@tomcat1 ~]# cat /usr/local/tomcat/conf/context.xml
<Manager pathname="" />
-->
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="m1:192.168.84.140:11211,m2:192.168.84.141:11211"
failoverNodes="m1"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
[root@tomcat2 ~]# cat /usr/local/tomcat/conf/context.xml
<Manager pathname="" />
-->
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="m1:192.168.84.140:11211,m2:192.168.84.141:11211"
failoverNodes="m2"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
3、重启服务
[root@tomcat2 ~]# systemctl stop tomcat
[root@tomcat2 ~]# systemctl start tomcat