Nginx搭建Tomcat高性能负载均衡集群

  1. 1、配置多个tomcat

  2. 首先需要知道的是,我们不通过Eclipse等其它工具启动Tomcat而通过手动启动Tomcat的时候是需要配置环境变量的。而我们启动Tomcat的时候,则需要读取环境变量中的相关配置来运行。也就是说,假如我有多个Tomcat,而启动的时候都是启动环境变量里面的Tomcat。这样便会因为端口冲突而导致启动失败了。

  3. 假如我们想要启动多个Tomcat,则需要在环境变量中下手了。Tomcat的环境变量为CATALINA_HOME,如果我们想配置多个,可以配置CATALINA_HOME1,CATALINA_HOME2等环境变量,变量名随便命名,值就是Tomcat的目录。

    如何在一台电脑上开启多个tomcat
  4. 假如我们想启动两个Tomcat,将Tomcat复制成为两份,创建环境变量CATALINA_HOME1,CATALINA_HOME2分别为两个Tomcat的目录。

    如何在一台电脑上开启多个tomcat
  5. 同时我们还需要修改tomcat中bin目录下的catalina.bat和startup.bat两个文件。将两个文件中的CATALINA_HOME替换为我们设置的环境变量,如CATALINA_HOME1或CATALINA_HOME2

    如何在一台电脑上开启多个tomcat
  6. OK,配置好后,我们只需要将Tomcat的端口修改成不一样的,就可以实现多开的功能了,至于如何修改Tomcat的端口,可以看参考资料。

    如何在一台电脑上开启多个tomcat















2、配置nginx和tomcat

实战——解压拷贝出三个tomcat

实战——修改三个tomcat服务器的端口(conf目录下的server.xml)

tomcat有三个端口,都需要修改,每个端口的具体作用如下图所示:

server1(apache-tomcat-9.0.0.M21_server1\conf\server.xml)

修改tomcatserver1的端口

server2(apache-tomcat-9.0.0.M21_server2\conf\server.xml)

第二个tomcat服务器端口

server3(apache-tomcat-9.0.0.M21_server3\conf\server.xml)

第三个tomcat服务器修改端口

实战——修改三个tomcat服务器的默认页面

apache-tomcat-9.0.0.M21_server1\webapps\ROOT\index.jspServer1

apache-tomcat-9.0.0.M21_server2\webapps\ROOT\index.jspServer2

apache-tomcat-9.0.0.M21_server3\webapps\ROOT\index.jspServer3

实战——启动三个tomcat服务器进行测试

apache-tomcat-9.0.0.M21_server1\bin\startup.bat

apache-tomcat-9.0.0.M21_server2\bin\startup.bat

apache-tomcat-9.0.0.M21_server3\bin\startup.bat

启动三个tomcat通过浏览器访问

实战———配置Nginx(nginx-1.12.0\conf\nginx.conf)

实战———启动Nginx

启动Nginx

实战———测试

附——Nginx参数的讲解全局

#运行Nginx的用户和用户组

#usernobodynobody;

#Nginx启动多少个进程,最好跟计算机CPU核数一致

worker_processes1;

#全局错误日志类型

#error_loglogs/error.log;

#error_loglogs/error.lognotice;

#error_loglogs/error.loginfo;

#进程号保存文件

#pidlogs/nginx.pid;

附——Nginx参数的讲解等待事件

#等待事件

events{

#每个进程最大的连接数(总的连接数=worker_connections*worker_processes)

worker_connections1024;

}

附——Nginx参数的讲解HTTP

http{

#文件扩展名和文件类型映射表

includemime.types;

#默认文件类型

default_typeapplication/octet-stream;

#日志的格式

log_formatmain'$remote_addr-$remote_user[$time_local]"$request"''$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded_for"';

#日志

access_loglogs/access.logmain;

#设定请求缓冲

client_header_buffer_size1k;

large_client_header_buffers44k;

#高效文件传输模式,指定是否调用sendfile函数来传输文件,一般的应用都建议启用。

sendfileon;

#长连接超时时间,单位秒

keepalive_timeout65;

#客户端上传文件大小控制

client_max_body_size8m;

#是否启用压缩传输

#gzipon;

附——Nginx参数的讲解HTTP中的集群

#服务器的集群列表

upstreamCLUSTER_NAME{#CLUSTER_NAME是服务器集群的名字

#要转发的服务器列表weight权重越大,更多概率被分配到。

server127.0.0.1:18080weight=1;

server127.0.0.1:28080weight=2;

server127.0.0.1:38080weight=1;

附——Nginx参数的讲解HTTP中虚拟机的配置

#第一个虚拟主机

server{

listen80;#端口

server_namelocalhost;#主机名

location/{

proxy_passhttp://CLUSTER_NAME;

proxy_redirectdefault;

location~.*\.(js|css|ico|png|jpg|eot|svg|ttf|woff){

#所有静态文件直接读取硬盘

roottomcat7/webapps/Root/WEB-INF;

expires30d;#缓存30天

猜你喜欢

转载自blog.csdn.net/qq_26597927/article/details/80716973