第一步 : 下载 对应的 资源
我这都是下载比较新的版本,Nginx - v 1.81 ; Tomcat :apache-tomcat-8.5.11-windows-x64.zip
整理好目录如下:
第二步 :修改配置文件
1:修改 service.xml 改变端口
<!--修改关闭Tomcat端口-->
<Server port="28005" shutdown="SHUTDOWN">
<!--修改http 请求端口-->
<Connector port="28080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!--修改虚拟机 jvp 请求端口-->
<Connector port="28009" protocol="AJP/1.3" redirectPort="8443" />
2: 修改 catalina.bat + startup.ba 2
在这之前 要配置好 环境变量,如果不配置的话,只允许 启动一个tomcat,另一个 tomcat 会起不了的,经跟踪发下 启动时 会读取 两个环境变量 1:CATALINA_HOME 2:CATALINA_BASE 两个变量值 默认是Tomcat的 当前路径,所以当启动第二个 Tomcat的时候 最终还是启动 第一个Tomcat ,所以 会发生异常;解决的办法 是 各配各的路径 以避免发生冲突;
比如 :
CATALINA_HOME1:D:\study\Load_Balancing\work01
CATALINA_HOME2:D:\study\Load_Balancing\work02
CATALINA_BASE1:D:\study\Load_Balancing\work01
CATALINA_BASE2:D:\study\Load_Balancing\work02
配置好之后,要 修改 文件 以改变启动路径
就是把 catalina.bat 里面的 CATALINA_HOME 换成 CATALINA_HOME1 、CATALINA_HOME2 CATALINA_BASE:CATALINA_BASE1 、CATALINA_BASE2
startup.bat 里面的 CATALINA_HOME 换成 CATALINA_HOME1 、CATALINA_HOME2
这样配置好之后 手动启动Tomcat 试一下,看是否 两个Tomcat 可以同时启动
3: 修改 nginx 的配置文件 引入 监听配置 Tomcat 监听
worker_processes 1;#工作进程的个数,一般与计算机的cpu核数一致
events {
worker_connections 1024;#单个进程最大连接数(最大连接数=连接数*进程数)
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream;#默认文件类型
sendfile on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
keepalive_timeout 65; #长连接超时时间,单位是秒
gzip on;#启用Gizp压缩
#服务器的集群
upstream netitcast.com { #服务器集群名字
server 127.0.0.1:18080 weight=1;#服务器配置 weight是权重的意思,权重越大,分配的概率越大。
server 127.0.0.1:28080 weight=2;
}
#当前的Nginx的配置
server {
listen 80;#监听80端口,可以改成其他端口
server_name localhost;############## 当前服务的域名
location / {
proxy_pass http://netitcast.com;
proxy_redirect default;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
第三步:启动 Nginx
配置好 之后 启动 nginx
windos 版的 话 cmd 进入dos命令框 如下
1:找到 nginx 目录所在(此目录最好不要含有汉字,不然就会启动不了)
2;启动 nginx
命令如下:
如果启动不了,就要看 error.log 日志了,查看 报错详情
第四步:验证是否 配置成功
发现 已经配置好 一个简单的负载均衡了,work1 :work2 = 1:1 ,这是由权重weight 决定的,这个要根据 现场 web 服务器的性能决定
谢谢观看,哪里有不足请指正!