Nginx安装及配置负载均衡

这篇具有很好参考价值的文章主要介绍了Nginx安装及配置负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官网下载Nginx

http://nginx.org/en/download.html

注:下载稳定版,即Stateable Version的,选择对应操作系统,我这里是Linux,就选择了 nginx-1.24.0

解压安装

tar -xvf nginx-1.24.0.tar
  • 安装C++库和openssl等
yum -y install gcc-c++
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel
  • 安装

顺序执行下列命令

./configure
make
make install

常用命令

./nginx -s stop		#停止nginx
./nginx	-s quit		#安全退出
./nginx -s reload	#修改了文件之后重新加载该程序文件
ps aux|grep nginx	#查看nginx进程
sbin/nginx -c /conf/nginx.vonf #指定配置文件启动

配置负载均衡

七层负载均衡

nginx的负载均衡语法
http {
   upstream [你的负载均衡机制名称,随便设置一个就好] {
	 server [ip地址]:[端口值];
	 server [ip地址]:[端口值];
	 server [ip地址]:[端口值];
	 server [ip地址]:[端口值];
 }
 server {
	 listen [nginx监听端口];
	 server_name [head中的host对应的值]
	 location / {
	   proxy_pass http:// [你的负载均衡机制名称,对应上面upstream的值];
         }
    }
}
nginx的负载均衡策略
  1. 轮询(Round Robin默认)

​ 轮询是最常见的一种负载均衡策略。Nginx默认使用轮询策略,将请求按照顺序分配到每个服务器,当请求到达最后一个服务器后,再从第一个服务器继续轮询。,如果后端服务器挂了,则自动剔除。

upstream backend {
   server [ip地址]:[端口值];
	 server [ip地址]:[端口值];
	 server [ip地址]:[端口值];
	 server [ip地址]:[端口值];
}

server {
   listen 80;
   server_name example.com;
   location / {
       proxy_pass http://backend;
   }
}
  1. 权重(Weighted Load Balancing)

​ 指定轮询的频率,weight和访问率成正比,用于后端服务器性能不均匀的情况

upstream backend {
    server [ip地址]:[端口值] weight=3;
	  server [ip地址]:[端口值] weight=2;
	  server [ip地址]:[端口值] weight=1;
}

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend;
    }
}
  1. IP Hash

​ IP Hash是一种漂亮的负载均衡策略,具有Session保持的优点。算法的基本思路是通过对客户端的IP地址取Hash值,将此Hash值与服务器列表中的IP地址的Hash值进行比较,找到具有匹配Hash值的服务器。这样相同IP的请求总是被转发到同一台后端服务器处理,保证Session信息在同一台服务器上处理。

upstream backend {
    ip_hash; #使用IP hash策略
    server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
}

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend;
    }
}
  1. 最少连接(Least Connections)

​ nginx会尽量不让负载繁忙的应用服务器上负载过多的请求,相反的,会把新的请求发送到比较不繁忙的服务器。

upstream backend {
    least_conn; #使用Least Connections策略
    server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
}

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend;
    }
}
  1. 随机(Random)

​ Random会将请求随机发送到后端服务器上,这种策略比较简单,但是不保证对后端服务器的负载均衡性。

upstream backend {
    random; #使用Random策略
    server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
}

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend;
    }
}
  1. URL Hash

​ URL Hash会根据请求的URL的Hash值来将请求发送到后端服务器。相同URL的请求总是被转发到同一台后端服务器处理,从而保证Session信息在同一台服务器上处理。

upstream backend {
    hash $request_uri; #使用URL Hash策略
    server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
	  server [ip地址]:[端口值];
}

server {
    listen 80;
    server_name example.com;
    location / {
        proxy_pass http://backend;
    }
}
故障下线和备份服务设置

1.down

​ 假如有一台主机是出了故障,或者下线了,要暂时移出,那可以把它标为down,表示请求是会略过这台主机的。

upstream downServer {
        server www.address1.com; # 或者ip+端口 , 不需要加入http/https前缀
        server www.address2.com down;
}

2.backup

​ backup是指备份的机器,相对于备份的机器来说,其他的机器就相当于主要服务器,只要当主要服务器不可用的时候,才会用到备用服务器。

upstream backupServer {
        server www.address1.com; # 或者ip+端口 , 不需要加入http/https前缀
        server www.address2.com backup;
}

3.max_fails和fail_timeout

​ 默认情况下,max_fails的值为1,表示的是请求失败的次数,请求1次失败就换到下台主机。另外还有一个参数是fail_timeout,表示的是请求失败的超时时间,在设定的时间内没有成功,那作为失败处理。文章来源地址https://www.toymoban.com/news/detail-704420.html

upstream backupServer {
        server www.address1.com max_fails=2; # 或者ip+端口 , 不需要加入http/https前缀
        server www.address2.com backup;
}
proxy_pass参数
  • proxy_set_header:设置反向代理向后端发送的http请求头信息,如添加host主机头部字段,让后端服务器能够获取到真实客户端的IP信息等
  • client_body_buffer_size:指定客户端请求主体缓冲区大小
  • proxy_connect_timeout:反向代理和后端节点连接的超时时间,也是建立握手后等待响应的时间
  • proxy_send_timeout:表示代理后端服务器的数据回传时间,在规定时间内后端若数据未传完,nginx会断开连接
  • proxy_read_timeout:设置Nginx从代理服务器获取数据的超时时间
  • proxy_buffer:设置缓冲区的数量大小

到了这里,关于Nginx安装及配置负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Nginx】第五章 Nginx配置实例-负载均衡

    浏览器地址栏输入地址 http://192.168.6.100/edu/index.html ,负载均衡效果,将请求平均分配到8080和8081两台服务器上。 (1)准备两台tomcat服务器,一台8080,一台8081 (2)在两台tomcat里面webapps目录中,创建名称是edu文件夹,在edu文件夹中创建页面index.html(让index.html内容不一样,查看

    2024年02月11日
    浏览(31)
  • 配置Nginx实现负载均衡

    简介 在本教学文章中,我们将学习如何使用Nginx配置负载均衡,将流量均匀分配到多个后端服务器,从而提高应用程序的可靠性和性能。负载均衡是一种常见的应用场景,通过分配请求到多个服务器上,可以实现负载的均衡分配,增加系统的可扩展性和容错能力。本教程将介

    2024年02月13日
    浏览(50)
  • Nginx负载均衡配置实例

    介绍: 增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的 情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负 载均衡 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互

    2024年02月15日
    浏览(32)
  • Nginx配置负载均衡实例

    Nginx配置反向代理实例二 提醒一下:下面实例讲解是在Mac系统演示的; 负载均衡实例实现的效果 浏览器地址栏输入地址http://192.168.0.101/test/a.html,刷新页面进行多次请求,负载均衡效果,平均分配到8080端口服务和8081端口服务 第一步:准备两个Tomcat服务器,一个端口为8080,

    2024年01月16日
    浏览(32)
  • nginx配置实例-负载均衡

    目录 一、目的:实现效果 二、准备工作 三、实验部署 3.1修改第二台Tomcat服务器的监听端口为8081 3.2修改完成后,重新启动tomcat8081这台服务器。 3.3在浏览器测试 3.4在两台tomcat里面webapps目录中,创建名称是edu的文件夹,在edu文件夹中创建页面,用于测试。 3.5修改nginx配置文件

    2024年04月12日
    浏览(61)
  • NGINX配置负载均衡算法

    配置负载均衡服务器涉及到选择负载均衡算法、配置后端服务器、设置健康检查等多个方面。以下是一个简单的负载均衡服务器配置的示例,使用 Nginx 作为负载均衡器: 安装 Nginx: 如果还没有安装 Nginx,请先安装它。在 Ubuntu 上,可以使用以下命令: 配置负载均衡: 编辑

    2024年01月20日
    浏览(34)
  • 5、Nginx 配置实例-负载均衡

    【尚硅谷】尚硅谷Nginx教程由浅入深 志不强者智不达;言不信者行不果。 负载均衡:增加服务器的数量,将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,这就是负载均衡。 浏览器地址栏输入

    2024年02月09日
    浏览(35)
  • nginx的各种负载均衡策略与各种负载均衡策略如何配置

    Nginx支持多种负载均衡策略,每种策略都有其特定的适用场景和配置方式。以下是一些常见的Nginx负载均衡策略及其配置方法: 这是Nginx的默认策略,每个请求按顺序依次分发到不同的服务器上。 配置示例: 在轮询的基础上,为后端服务器分配不同的权重,权重越高,接收的

    2024年04月09日
    浏览(32)
  • 【Nginx笔记01】Nginx配置文件介绍、反向代理、负载均衡

    这篇文章,主要介绍Nginx配置文件介绍、反向代理、负载均衡。 目录 一、nginx介绍 1.1、配置文件 1.2、反向代理 1.3、负载均衡 nginx配置文件是位于【conf】目录下的【nginx.conf】文件,这个文件中有三大部分组成,分别是:全局块、events块、http块。 全局块:定义一些全局变量,

    2023年04月23日
    浏览(32)
  • emq集群配置nginx做负载均衡

    emq集群配置nginx做负载均衡 创建 EMQ X 节点集群 emqx 集群搭建 例如: 节点 IP 地址 emqx@192.168.1.17 192.168.1.17 emqx@192.168.1.18 192.168.1.18 emqx@192.168.1.19 192.168.1.19 配置 /etc/nginx/nginx.conf mqtt集群搭建并使用nginx做负载均衡_亲测得结论 示例: 参考链接: https://docs.emqx.cn/enterprise/v4.3/tutorial/dep

    2024年02月05日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包