1、windows系统下。我们下载tomcat,解压到硬盘里,并且复制一份,文件夹一个叫做tomcat-1,一个叫做tomcat-2。再下载nginx,放在硬盘里。
2、这3个其实都是服务器程序。我们直接点击nginx里面的exe文件可以打开nginx,win10下因为80端口冲突我们修改了nginx的端口号为8088。打开后我们在浏览器里localhost:8088可以打开欢迎页面。
——我们可以打开tomcat-1/bin/startuo.bat,就算是开启了tomcat的服务器,它的默认端口是8080。输入localhost:8080可以看到欢迎页面。
——另一个tomcat-2,我们先修改了它的配置文件里面的端口号为8081,不然端口会冲突,无法启动。修改之后我们启动在浏览器输入localhost:8081可以看到欢迎页面。
——测试的时候,可以把这3个都开启,同时在浏览器中打开这3个欢迎页面。为了区别两个tomcat的欢迎页面,我们可以在ROOT里面的index.jsp页面上做一些修改。
2、既然3个服务器程序都准备就绪并且可以正常启动和访问。下一步就是用Nginx来代理2个tomcat,即所谓的管理tomcat集群。
——我们在Nginx的conf的nginx.conf文件中做如下修改:
upstream server_lb{
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}server {
listen8088;
server_namelocalhost;
……
location / {
roothtml;
proxy_passhttp://server_lb;
indexindex.html index.htm;
}
}
——server_name相当于我们在浏览器中输入的域名,端口号默认是80,也就是可以省略,但是因为win10的冲突被我们改为8088了,所以我们在浏览器中输入localhost:8088才能访问。
——下面location里面的意思是我们是html文件夹里面找index.html等默认文件。但是我们后来增加了
proxy_pass http://server_lb;
,说明我们不是去找默认文件了,而是去server_lb这个服务器集群地址里面去找,这个是服务器集群是在upstream里面定义的,里面有2个,所以本质上是随机访问任何一个,概率是相同的。当然我们可以修改权重来改变访问每个服务器的频率。upstream server_lb{
server 127.0.0.1:8080 weight=10;
server 127.0.0.1:8081 weight=5;
}
备注:上面的那些操作,我们没有做环境变量的配置。
3、虚拟目录。配置默认的应用。比如我们有一个web project。我们把WebRoot里面的几个文件拷贝到新建的一个文件夹里(E:\myApp),那么这个目录就是我们应用的真是目录,我们需要配置它。然后我们在tomcat-1/conf/Catalina/localhost/下面新建一个ROOT.xml,里面:
——把这个文件复制到tomcat-1/conf/Catalina/localhost/下面,因为我们想不论经过那个tomcat都能引导访问这个应用。就OK了。我们这个时候启动Nginx和两个tomcat,然后访问Nginx的欢迎页面就会跳转到任意一个tomcat,继而访问到我们的真是目录下面的jsp页面。
【Java|Nginx管理tomcat集群、session共享】4、共享session暂时搁置,后续利用其它技术来实现。
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)