----------------第一部分--------------------
一.后台应用架构
1.1.单体架构
1.2.微服务
二.tomcat,nginx,apache的使用场景及对比
Nginx与Apache、Tomcat区别_apache nginx tomcat-CSDN博客文章浏览阅读3.4k次,点赞49次,收藏42次。本文详细比较了Nginx与Apache在工作模式、性能、配置和功能等方面的差异,指出Nginx在高并发和静态内容处理上更优,但Apache在功能模块和动态处理上较为全面。推荐根据实际需求选择,如高性能要求优先Nginx,动态内容为主用Apache。https://blog.csdn.net/G_D0120/article/details/136270984
----------------第二部分--------------------
一.环境部署
后端两台tomcat服务器
1.安装Java环境:
[root@tomcatnode2 ~]# yum search java*
[root@tomcatnode2 yum.repos.d]# yum install java-1.8.0-openjdk.x86_64
2.解压官网下载的tomcat安装包:
[root@tomcatnode2 ~]# tar xzf apache-tomcat-9.0.93.tar.gz -C /usr/local/
3.做软连接改名:
[root@tomcatnode2 ~]# ln -s /usr/local/apache-tomcat-9.0.93/ /usr/local/tomcat
4.进入bin目录执行启动命令:
[root@tomcatnode2 ~]# /usr/local/tomcat/bin/startup.sh
5.测试是否监听8080端口:
[root@tomcatnode2 ~]# netstat -antlupe | grep java
tcp6 0 0 :::8080 :::* LISTEN 0 30141 2392/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 0 30150 2392/java
6.修改配置文件:
[root@tomcatnode2 ~]# vim /usr/local/tomcat/conf/tomcat.conf
JAVA_HOME=/etc/alternatives/jre_openjdk
7.创建用户不创建家目录:
[root@tomcatnode2 ~]# useradd -s /sbin/nologin -M tomcat
8.给目录创建的用户的访问权限:
[root@tomcatnode2 ~]# chown -R tomcat.tomcat /usr/local/tomcat/
9.生成启动文件:
[root@tomcatnode2 ~]# vim /lib/systemd/system/tomcat.service
10.加载启动:
[root@tomcatnode2 ~]# systemctl daemon-reload
[root@tomcatnode2 ~]# systemctl enable --now tomcat
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /usr/lib/systemd/system/tomcat.service.
测试:
二.反向代理
2.1.架构
2.2.实现
上传test.jsp到tomcat默认路径:/usr/local/tomcat/webapps/
2.3.测试
三.负载均衡
3.1.实现
3.2.测试
3.3.参数测试
3.3.1.ip_hash
3.3.2.hash $cookie_JSESSIONID;
测试:
3.4.session共享存储
配置过程
[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
[root@tomcat-1 ~]# vim /usr/local/tomcat/conf/context.xml
@@@@内容省略@@@@
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.254.161:11211,n2:172.25.254.162:11211"
failoverNodes="n1"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFacto
ry"
/>
[root@tomcat-2 tomcat]# vim /usr/local/tomcat/conf/context.xml
@@@@内容省略@@@@
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.254.161:11211,n2:172.25.254.162:11211"
failoverNodes="n2"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFacto
ry"
/>
[root@Nginx ~]# vim /usr/local/nginx/conf.d/vhosts.conf
upstream tomcat {
hash $cookie_JSESSIONID;
server 172.25.254.161:8080;
server 172.25.254.162:8080;
}
server {
listen 80;
server_name www.timinglee.com;
location ~ \.jsp$ {
proxy_pass http://tomcat;
}
}