Nginx 是一个高性能的 HTTP 服务器 / 反向代理服务器及电子邮件 (IMAP/POP3) 代理服务器. 其占有内存少, 并发能力强, 在同类型的网页服务器中表现较好. Nginx 可以在大多数 Unix Linux OS 上编译运行, 并有 Windows 移植版. 一般情况下, 对于新建站点, 建议使用最新稳定版作为生产版本.
单个 Tomcat 最大支持在线访问是 500 左右, 要通知支持更多的访问量一个 Tomcat 就没法做到了. 在这里我们采用集群部署方式, 使用多个 Tomcat, 反向代理使用 Nginx.
架构如下:
准备工作
apache-tomcat-7.0.61
nginx-1.12.2
Redis-x64-3.2.100
为简化示例, 这里只讲 Nginx+Tomcat 的部署与集成.
Nginx 安装
(1)去官网下载 Windows 的最新稳定版 Nigx(我用的 1.12.2 版本). 官网 http://nginx.org/en/download.html
(2)解压到磁盘任意目录. 这里我解压在 F:\nginx-1.12.2
(3) 启动服务: start nginx.exe
停止服务: nginx -s stop
重新加载配置: nginx -s reload
修改 nginx.conf
1. 进程数与每个进程的最大连接数
nginx 进程数, 建议设置为等于 CPU 总核心数
单个进程最大连接数. 那么该服务器的最大连接数 = 连接数 * 进程数
2.Nginx 的基本配置
监听端口一般都为 http 端口: 80
域名可以有多个, 用空格隔开. 例如 server_name www.sohu.com baidu,com
3. 负载均衡列表基本配置
location / {} : 对什么样的后缀进行负载均衡请求, 假如我们要对所有的 aspx 后缀的文件进行负载均衡时, 可以这样写: location ~.*\.aspx${}
proxy_pass: 请求转向自定义的服务器列表, 这里我们将请求都转向标识为 http://joannayan.com 的负载均衡服务器列表.
weight 权重, 权值越高被分配的几率越大. 可以根据机器配置定义权重(如果某台服务器的硬件配置很好, 可以处理更多的请求, 那么可以为其设置一个较高的 weight; 而有一台的服务器的硬件配置比较差, 那么可以将前一台的 weight 配置为 weight=2, 后一台差的配置为 weight=1).
测试
分别向两台机器的 Tomcat 服务器中部署 TestNginx.war 这个 web 项目(为了区分访问的是不同的 Web 服务器, 两机器中部署的 TestNginx 这个项目在页面显示上略有不同).
启动启动两机器上的 Tomcat, 并启动 nginx.
访问 nginx:http://localhost/TestNginx
刷新, 再访问:
由于权重的不同, 在不断刷新页面的过程中, 显示 "5.20 服务器" 的可能性会大一些.
来源: https://www.cnblogs.com/Joanna-Yan/p/8745794.html