配置tomcat多实例
首先声明,我不打算将tomcat copy两份,而是利用catalina_base来创建tomcat的多实例。下载tomcat后,解压,然后在同级目录新建文件夹apache-tomcat-cluster
,然后新建文件夹tomcat-9990
,copy tomcat安装目录的conf文件夹到此目录,修改server.xml,一共修改3处地方,只改port值。
<Server port="8025" shutdown="SHUTDOWN">
<Connector connectionTimeout="20000" port="9990" protocol="HTTP/1.1" redirectPort="8443"/>
<Connector port="9019" protocol="AJP/1.3" redirectPort="8443"/>
新建temp、webapps文件,并在webapps文件夹中放入一个简单的hello工程,
a.html的内容
<!DOCTYPE html>
<html>
<head>
<title>hello world1</title>
</head>
<body>
<h1>hello world1</h1>
</body>
</html>
新建脚本tomcat_instance_9990_start.bat
,启动tomcat,内容如下
@echo off
set JAVA_HOME=%JAVA_HOME%
set PATH=%JAVA_HOME%\bin;%PATH%
set CATALINA_BASE=%CD%
cd ../../apache-tomcat-7.0.52/bin
catalina.bat start
完整的目录如下
然后将tomcat-9990
复制一份,取名 tomcat-9991
并修改server.xml中的3处端口。将a.html中的helloworld改为hello world2
配置nginx,负载均衡
下载nginx,解压,修改nginx_home/conf/nginx.conf,添加配置
upstream mycloud.com { #服务器集群名字
server 127.0.0.1:9990 weight=1;#这里的端口号与tomcat对应
server 127.0.0.1:9991 weight=2;
}
proxy_pass http://mycloud.com;
在命令行下进入nginx安装目录,执行start nginx
否则直接点击nginx.exe会一闪而过。
点击nginx_home/nginx.exe启动nginx,访问localhost/hello/a.html,请求就随机访问了
启动nginx命令start nginx
停止nginx命令nginx -s quit