文档章节

nginx的简单使用:负载均衡

osliang
 osliang
发布于 2018/10/15 20:16
字数 625
阅读 13
收藏 6

nginx:反向代理的服务器;用户发送请求到nginx,nginx把请求发送给真正的服务器,等待服务器处理完数据并返回,再把数据发送给用户。

nginx作为一个反向代理服务器,能缓存我们项目的静态文件,并实现反向代理与均衡负载,可以有效减少服务器压力,即使项目不大,也可以使用。

1.建立第一个springboot工程nginx,启动类如下:

@RestController
@SpringBootApplication
public class nginxApplication {//implements EmbeddedServletContainerCustomizer{    
    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }    
    public static void main(String[] args) {
        SpringApplication.run(nginxApplication.class, args);  
    }    
//    @Override
//    public void customize(ConfigurableEmbeddedServletContainer configurableEmbeddedServletContainer) {
// 
//        configurableEmbeddedServletContainer.setPort(8090);
//    }
}

访问:http://localhost:8090/

可以再如图显示:

1.1)修改conf/nginx.conf中的配置文件为:

location / {
            proxy_pass http://localhost:8090/;            
            #root   html;
            #index  index.html index.htm;
        }

启动cmd,进入有nginx.exe的目录,执行start nginx启动nginx,

浏览器访问:http://localhost/    ;如图

这样就实现了:用户请求--nginx--服务器

如果没有配置nginx.conf,这是一个欢迎页面。

2.把nginx工程复制为第二个工程nginx2,修改返回的字符串为:Hello World!-----222,为了区分访问到不同工程

启动访问如下:http://localhost:8091/

2.1)修改conf/nginx.conf中的配置文件为:

再http模块加入:

upstream test{
ip_hash;
server 192.168.1.164:8090 weight=10;#weight:权重
server 192.168.1.164:8091 weight=5;
}

并修改之前修改的

location / {
            proxy_pass http://test;
            #proxy_pass http://localhost:8090;    
            #root   html;
            #index  index.html index.htm;
        }

修改完后,执行nginx.exe -s reload,重新加载配置文件;

再次访问:http://localhost/,刷新几遍可以出现以下图2,如果刷不出来,可以把nginx工程直接关了,或者调整权重。

这样即实现了负载均衡。

参考:https://www.cnblogs.com/zhrxidian/p/5432886.html

完整nginx.conf:

#user  nobody;
worker_processes  3;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    #use  kqueue;#只能用于Linux中
    worker_connections  1024;
}

http {
    
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
#weight是权重。集群    
upstream test{
ip_hash;
server 192.168.1.164:8090 weight=10;#server 192.168.1.164:8090/home,会报错,修改后才可以,
server 192.168.1.164:8091 weight=5;
}
    
    server {
        listen       80;
        server_name localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
            
        location / {
            proxy_pass http://test;
            #proxy_pass http://localhost:8090;
            #proxy_pass http://localhost:8091;
            #root   html;
            #index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;       
    }    

}

 


 

© 著作权归作者所有

共有 人打赏支持
osliang
粉丝 1
博文 21
码字总数 3877
作品 0
广州
私信 提问
负载均衡器技术Nginx和F5的优缺点对比

对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。   目前有许多不同的负载均衡技术用以满足不同的应...

Zero零_度
2015/04/17
0
2
Nginx学习之负载均衡fair模块

Nginx学习之负载均衡fair模块 2017-04-10 20:27 写在开始 前面对Nginx的三种负载均衡实现做了一个简单的介绍,这里分享一个第三方的负载均衡模块nginx-upstream-fair。 模块介绍 The Nginx ...

linjin200
2018/07/19
0
0
Nginx反向代理实现负载均衡配置图解

Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章...

thinkyoung
2015/01/07
0
0
硬件负载均衡和软件负载均衡

LB 简单比较 – F5、NetScaler、LVS、Nginx、Haproxy 负载均衡技术是构建大型网站必不可少的架构策略之一。它的目的是,把用户的请求分发到多台后端的设备上,用以均衡服务器的负载。我们可以...

robin_key
2017/05/31
0
0
负载均衡下,WEB集群session管理

通常状况下,在部署项目时,我们会考虑访问量过高带来的一系列问题,解决这个问题的一种做法是,使用WEB集群来分布式部署项目,即负载均衡。负载均衡可以通过软件,硬件等多种方式去实现。下...

yovinn
2015/03/10
0
6

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 舔狗是没有好下场的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @我没有抓狂 :#今天听什么# #今天听这个# 分享 Nirvana 的歌曲《Smells Like Teen Spi...》 《Smells Like Teen Spi...》- Nirvana 手机党少...

小小编辑
今天
74
4
Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
2
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
5
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部