前言

Nginx做的代理后面SpringBoot的项目,1N3T的架构,Tomcat的配置也进行了相应的调优。

配置

这里主要来简单的说下Nginx的端口负载均衡,具体的大家可以参考

Nginx文档 | Nginx 烹调书(Nginx Cookbook 中文版) | Nginx文档PLUS

upstream是nignx分配方式,默认是轮询

1. 轮询: 轮询是upstream的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器。
2. weight: 按着权重的大小进行轮询。
3. ip_hash: 每个请求按照访问ip的hash结果分配,这样每个访客会固定访问一个后端服务器,可以解决session一致问题。
4. fair: 可以根据页面大小、加载时间长短智能的进行负载均衡,响应时间短的后端服务器优先分配请求。
5. url_hash: 与ip_hash类似,但是按照访问url的hash结果来分配请求,使得每个url定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下。
6. least_conn: 把请求转发给连接数较少的后端服务器

轮询

# max_fails=2 fail_timeout=30s 代表在30秒内请求某一应用失败2次,认为该应用宕机,等待30秒再次请求

upstream pool {
server 192.168.10.1:6001 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:51001 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:6005 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:6004 weight=10 max_fails=2 fail_timeout=30s;
}

ip_hash

upstream pool {
ip_hash;
server 192.168.10.1:6001 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:51001 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:6005 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:6004 weight=10 max_fails=2 fail_timeout=30s;
}

完整配置

我这边是虚拟主机的,所以直接配置对应的虚拟主机的配置就好了,完整配置如下

# 负载的地址池
upstream pool {
ip_hash;
server 192.168.10.1:6001 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:51001 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:6005 weight=10 max_fails=2 fail_timeout=30s;
server 192.168.10.1:6004 weight=10 max_fails=2 fail_timeout=30s;
} server
{
listen 80;
listen 443 ssl; server_name app.xxxx.net;
index index.html index.htm index.php default.html default.htm default.php;
underscores_in_headers on;
root /usr/local/nginx/conf/html;
ssl_certificate /cert/app.xxxx.net.pem;
ssl_certificate_key /cert/app.xxxx.net.key;
ssl_session_timeout 5m;
ssl_ciphers xxxxxxxxxxxxxxxx;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on; location / {
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-forwarded-for $remote_addr;
#地址池名称pool
proxy_pass http://pool;
} location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
#地址池名称pool
proxy_pass http://pool;
expires 30d;
} location ~ .*\.(js|css)?$ {
#地址池名称pool
proxy_pass http://pool;
expires 12h;
} access_log /home/wwwlogs/app.xxxx.net.log;
}

pool是自己命名的一个变量,你可以命名为别的值

Nginx端口负载均衡就是这么的简单,但是不要忘记reload一下哦~

Nginx——端口负载均衡的更多相关文章

  1. nginx+tomcat负载均衡

    最近练习nginx+tomcat负载均衡.根据一些资料整理了大体思路,最终实现了1个nginx+2个tomcat负载均衡. 安装JDK 1>进入安装目录,给所有用户添加可执行的权限 #chmod ...

  2. 【Nginx】配置Nginx的负载均衡

    参考的优秀文章 tomcat配置文件server.xml详解 AJP协议总结与分析 Using nginx as HTTP load balancer 在本机运行2个Tomcat 现需要运行两个Tom ...

  3. Nginx的负载均衡 - 整体架构

    Nginx的负载均衡 - 整体架构 Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd Nginx目前提供的负载均衡模块: ngx_http_upstre ...

  4. Nginx之负载均衡

    转自:http://www.360doc.com/content/13/1114/12/7694408_329125489.shtml 注,大家可以看到,由于我们网站是发展初期,nginx只代理了后端 ...

  5. [转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

    原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 参考博文: Centos下安装. ...

  6. 架构之路 之 Nginx实现负载均衡

    [前言] 在大型网站中,负载均衡是有想当必要的.尤其是在同一时间访问量比较大的大型网站,例如网上商城,新闻等CMS系统,为了减轻单个服务器的处理压力,我们引进了负载均衡这一个概念,将一个服务器的压力分 ...

  7. Nginx实现负载均衡&Nginx缓存功能

    一.Nginx是什么 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambl ...

  8. 利用nginx实现负载均衡和动静分离

    1.Nginx介绍 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 . Nginx 是由 ...

  9. 6.Nginx作为负载均衡服务器应用

    案例:Nginx作为负载均衡服务器应用 nginx的负载均衡功能是通过upstream命令实现的,因此他的负载均衡机制比较简单,是一个基于内容和应用的7层交换负载均衡的实现.Nginx负载均衡默认对后 ...

随机推荐

  1. find square root

    public class Solution { public static void main(String[] args) { Scanner ip = new Scanner(System.in) ...

  2. Linux系统运维笔记(6),CentOS 7.6双网卡路由配置

    Linux系统运维笔记(6),CentOS 7.6双网卡路由配置. 一,先确认系统版本: [root@localhost ~]# cat /etc/redhat-releaseCentOS Linux ...

  3. oracle--报错 ORA-01003,ORA-09817,ORA-01075

    磁盘满了,删除旧文件,即可保证登入成功

  4. 强迫症福利--收起.NET程序的dll来

    作为上床后需要下床检查好几次门关了没有的资深强迫症患者,有一个及其搞我的问题,就是dll问题. 曾几何时,在没有nuget的年代,当有依赖项需要引用的时候,只能通过文件引用来管理引用问题,版本问题,更 ...

  5. 妖娆的HTML

    初涉前端之HTML 1.首先是Web服务的本质,是怎么工作的?(基于python的网络实现) import socket server = socket.socket() server.bind((' ...

  6. springmvc单例

    默认情况下springmvc都是单例的,用@Controller注解的web页面,下次请求时,可以拿到controller成员变量的上次运行的信息. 比如:controller类里面有: Linked ...

  7. Navicat Premium 12 安装与激活

    一.Navicat Premium 12下载 官方下载地址:https://www.navicat.com.cn/download/navicat-premium 百度云盘:https://pan.b ...

  8. ant-design自定义FormItem--上传文件组件

    自定义上传组件,只需要在内部的值变化之后调用props中的onChange方法就可以托管在From组件中, 此外为了保证,初始化值发生变化后组件也发生变化,需要检测initialValue 变化,这是 ...

  9. Sitecore个性化 - 什么是历史个性化?

    顾名思义,Sitecore中的历史个性化允许您根据访问者过去在您网站上的行为来设置个性化规则. 许多组织选择Sitecore  作为其高级个性化功能的网站平台 - 历史个性化只是一种方法. 查看我们关 ...

  10. linux服务器的SSH 配置

    远程连接服务器: 就是通过文字或图形接口的方式来远程登陆另外一台服务器系统,让你在远程的终端前面登陆linux 主机以取得可操作主机的接口 主要的远程连接服务器的主要类型: 1)文字接口明文传输 : ...