Windows下nginx+tomcat实现简单的负载均衡

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务
器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。客户端不需要任何配置就可以
访问。反向代理是感知不到的。
正向代理,是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并
指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向
代理。正向代理可以感知。
nginx支持配置反向代理,通过反向代理实现网站的负载均衡。


一、nginx的下载
官网:http://nginx.org/en/download.html


下载里面的最新稳定版 Stable version nginx/Windows-1.14.1
下载下来是个压缩包nginx-1.14.1.zip,解压如下


确保默认80端口没被使用,双击nginx.exe,在浏览器地址栏输入localhost,可看到如下界面

二、nginx的常用命令(在cmd命令行下定位到nginx目录)
start nginx 开启nginx
nginx -v     显示 nginx 的版本。
nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。

nginx -s quit  平稳关闭Nginx,保存相关信息,有安排的结束web服务。

nginx -s reload 修改Nginx配置信息后,不需要关闭nginx后重新启动nginx,可让改动生效。

nginx -s reopen 重新打开日志文件。

nginx -c filename 为 Nginx 指定一个配置文件,来代替缺省的。

nginx -t      不运行,仅测试配置文件。nginx 将检查配置文件的语法正确性,并尝试打开配置文件中所引用到的文件。


三、简单实现负载均衡

1、准备两个tomcat,本次测试用apache-tomcat-9.0.0.M15,复印一份,分别重命名为apache-tomcat-9.0.0.M15-1、apache-tomcat-
9.0.0.M15-2

2、修改这两个tomcat的各3个端口,其中第一个tomcat的启动端口为10001,第2个tomcat的启动端口为10002,打开tomcat的conf目录下
的server.xml,修改如下:

apache-tomcat-9.0.0.M15-1

<Server port="10011" shutdown="SHUTDOWN"> (原来是8005)
<Connector port="10001" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> (原来是8080)
<Connector port="10021" protocol="AJP/1.3" redirectPort="8443" /> (原来是8009)

apache-tomcat-9.0.0.M15-2

<Server port="10012" shutdown="SHUTDOWN"> (原来是8005)
<Connector port="10002" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> (原来是8080)
<Connector port="10023" protocol="AJP/1.3" redirectPort="8443" /> (原来是8009)


为了下面nginx区分访问的是哪一个tomcat,修改上面两个tomcat的默认页面webapps\ROOT\index.jsp,简单加个标识,
访问http://localhost:10001,标识“Apache Tomcat/9.0.0.M15 ------tomcat1”,如下


访问http://localhost:10002,标识“Apache Tomcat/9.0.0.M15 ------tomcat2”,如下


3、修改nginx配置文件
D:\javatool\nginx-1.14.1\conf\nginx.conf
因为我本机的80端口被占用了,所以修改nginx的端口为10000,详细见下图:


4、启动nginx
在命令行下start nginx后,一个窗口一闪而过,可以在cmd命令窗口输入命令 tasklist /fi "imagename eq nginx.exe" ,出现如下结
果说明启动成功

5、浏览器访问http://localhost:10000

可看到访问的是http://localhost:10001或http://localhost:10002,
手工刷新,可看到两者的访问比例是1:2,就是上面nginx.conf配置的weight值1和2。

猜你喜欢

转载自www.cnblogs.com/gdjlc/p/9934363.html