首页 > 系统相关 >Nginx反向代理以及负载均衡

Nginx反向代理以及负载均衡

时间:2023-01-16 16:47:00浏览次数:48  
标签:负载 8080 192.168 server Nginx 反向 proxy location

场景一:同一台服务器上,通过nginx代理其他容器————例如tomcat

 

1、修改nginx的default.conf文件,修改后如下

server{
        listen 80;                              #  监听80端口
        server_name localhost;                  #  请求的域名

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }


        location /proxy {
                proxy_pass http://87.68.103.145:8001;
        }

}

 

 

 最主要的就是proxy_pass这行代码,本质上可以看成url的转发。

 

 

注:通过正则表达式匹配进行反向代理

location ~ /proxy/ {
                proxy_pass http://47.98.203.175:8001;
        }


        location ~ /proxy2/ {
                proxy_pass http://47.98.203.175:8080;
        }

主要区别就是多了~,一定要有路径末尾的/

即[~ /xxx/] 这种路径配置就是正则,nginx会根据你输入的路径中是否包含此内容来匹配要代理到哪一个服务器。

 

 

场景二:负载均衡(至少两台服务器)

1、修改nginx.conf(在htpp块中添加如下代码)

    # 配置负载均衡 方案一:轮询 (一个接一个访问)
    upstream myserver{
        server 192.168.50.130:8080;
        server 192.168.50.131:8080;
    }

    # 配置负载均衡 方案二:weight (权重 数值越大,访问的频率越大) 
    # upstream myserver{
    #     server 192.168.50.130:8080 weight=10;
    #     server 192.168.50.131:8080 weight=5;
    # }

    # 配置负载均衡 方案三:ip_hash (哈希 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题) 
    # upstream myserver{
    #     ip_hash;
    #     server 192.168.50.130:8080;
    #     server 192.168.50.131:8080;
    # }

    # 配置负载均衡 方案四:fair (第三方 按后端服务器的响应时间来分配请求,响应时间短的优先分配) 
    # upstream myserver{
    #     fair;
    #     server 192.168.50.130:8080;
    #     server 192.168.50.131:8080;
    # }

 

2、修改default.conf文件

location / {
        proxy_pass http://myserver;
    }

 

标签:负载,8080,192.168,server,Nginx,反向,proxy,location
From: https://www.cnblogs.com/ReturnOfTheKing/p/17055574.html

相关文章

  • ubuntu18.04安装nginx并支持https和文件上传
    在ubuntu10.4server下安装nginx并支持上传和https功能环境:ubuntu18.04server在root权限下操作1.安装编译环境cdapt-yinstallmakegcclibpcre3libpcre3-devopenss......
  • nginx升级连接为websocket
    利用nginx代理wss【通讯原理及流程】wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL)。客户端发起wss连接连到nginxnginx将wss协议的数......
  • 内网Linux下安装Nginx1.23,添加stream模块实现tcp/udp代理转发
    环境:centos7.6ngx_stream_core_module这个模块在1.9.0版本后将被启用。但是并不会默认安装,需要在编译时通过指定--with-stream参数来激活这个模块,window下并不支持udp......
  • Nginx与LUA(3)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~在互联网应用中,很多场景都会涉及到高并发请求,如果不对这些请求做限制,那么服务器很快就会被挤垮。就像在12306买票一样,如果......
  • Nginx与LUA(3)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~   在互联网应用中,很多场景都会涉及到高并发请求,如果不对这些请求做限制,那么服务器很快就会被挤垮。就像在12306买......
  • nginx配置安全漏洞之CRLF注入漏洞
    CRLF漏洞原理参考:https://www.leavesongs.com/PENETRATION/Sina-CRLF-Injection.htmlCRLF是”回车+换行”(\r\n)的简称。在HTTP协议中,HTTPHeader与HTTPBody是用两个CRL......
  • nginx开机启动脚本
    vi/etc/rc.d/init.d/nginx#编辑启动文件添加下面内容=======================================================#!/bin/sh##nginx-thisscriptstartsandstopst......
  • 使用docker中的nginx实现反向代理
    场景:宿主机有个目录存储静态资源,需要通过nginx代理出去,用户访问http://host:port/resource/xxxx访问。   1、修改宿主机中的/nginx/conf.d/default.conf文件(该文......
  • docker中离线安装nginx
    注:默认已经安装好docker。 为什么要离线安装?其实离线安装是建立在在线安装的基础上的;因为有可能我们的服务器由于安全问题无法访问外网,自此我们需要将镜像手动上传至服......
  • kubernetes安装ingress-nginx的步骤
    kubernetes安装ingress-nginx的步骤系统版本:CentOs8.1k8s版本:v1.21.3containerd版本:ctrcontainerd.io1.4.3一:准备yaml文件github仓库地址:wgethttps://raw.githubuse......