服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - CentOS基于nginx反向代理实现负载均衡的方法

CentOS基于nginx反向代理实现负载均衡的方法

2022-03-07 16:29爱代码也爱生活 Centos

这篇文章主要介绍了CentOS基于nginx反向代理实现负载均衡的方法,简单分析了CentOS环境下nginx负载均衡的原理及nginx安装与相关设置操作技巧,需要的朋友可以参考下

本文实例讲述了CentOS基于nginx反向代理实现负载均衡的方法。分享给大家供大家参考,具体如下:

nginx做负载均衡的优点:

1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,nginx单凭这点可利用的场合就远多于LVS了

2、nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大,这点本人深有体会

3、nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大

4、可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些

注意事项:

1、不同安装方法nginx的配置文件位置不一样

2、upstream如果使用ip_hash方式,则每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题

环境:

系统:centos6.6
nginx ip:192.168.20.103
web1 ip:192.168.20.193
web2 ip:192.168.20.194

一、安装nginx

两种方法,我用的是第1种

第1种 yum安装,需安装第三方yum源,因为nginx默认不在centos的yum源中 所以需更新

?
1
2
3
4
5
6
7
8
yum install wget #安装下载工具
wget http://www.atomicorp.com/installers/atomic #下载
sh ./atomic #安装
yum check-update #更新yum源 有的需要更新几次 才有nginx最新版本 否则是老版本nginx
yum remove httpd* php* #删除系统自带的软件包 也可加mysql*前提备份数据库
yum install nginx #安装nginx根据提示输入y进行安装
chkconfig nginx on #设置nginx开机启动
service nginx start #启动nginx 重启 restart

第2种 编译安装

?
1
2
3
4
5
wget http://nginx.org/download/nginx-1.7.8.tar.gz
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8
./configure
make && make install

二、修改配置文件

nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题

修改 /etc/nginx/nginx.conf 增加

?
1
2
3
4
5
6
#负载均衡配置
upstream backend {
#ip_hash;
server 192.168.20.193;
server 192.168.20.194;
}

修改 /etc/nginx/conf.d/default.conf

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
location / {
#设置主机头和客户端真实地址,以便服务器获取客户端真实IP
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #禁用缓存
    proxy_buffering off;
    #反向代理的地址
    proxy_pass http://backend;
    root  /usr/share/nginx/html;
    index index.html index.htm;
    # example
    #ModSecurityEnabled on;
    #ModSecurityConfig /etc/nginx/modsecurity.conf;
}

三、测试

第一次访问转发到193,因为 upstream默认是轮询,第二次则转发到了194

CentOS基于nginx反向代理实现负载均衡的方法

CentOS基于nginx反向代理实现负载均衡的方法

希望本文所述对大家CentOS服务器维护有所帮助。

原文链接:https://blog.csdn.net/nuli888/article/details/51912522

延伸 · 阅读

精彩推荐
  • CentosCentOS里egrep命令详解

    CentOS里egrep命令详解

    egrep命令用于在文件内查找指定的字符串。egrep执行效果与grep -E相似,今天小编为大家带来的是CentOS里egrep命令详解;有需要的朋友可以过来看看...

    服务器之家5692019-06-28
  • CentosCentOS 7搭建Linux GPU服务器的教程

    CentOS 7搭建Linux GPU服务器的教程

    这篇文章主要为大家详细介绍了CentOS 7搭建Linux GPU服务器的教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    MSTK8742022-02-19
  • Centoscentos6.7安装mysql5.5.48的方法

    centos6.7安装mysql5.5.48的方法

    这篇文章主要介绍了centos6.7安装mysql5.5.48的方法,较为详细的分析了centos6.7下安装mysql的实现方法及易错问题与注意事项,需要的朋友可以参考下 ...

    keyunq2472020-08-22
  • CentosCentOS 下yum安装mysql、jdk和tomcat的方法

    CentOS 下yum安装mysql、jdk和tomcat的方法

    这篇文章主要介绍了CentOS 下yum安装mysql、jdk和tomcat的方法的相关资料,需要的朋友可以参考下...

    hunhun11225492021-11-15
  • CentosCentOS 6.4 下安装vsftpd并配置虚拟用户

    CentOS 6.4 下安装vsftpd并配置虚拟用户

    在LINUX上要使用FPT服务,那就一定要学会vsftpd的配置和安装,vsftpd是Linux下比较著名的FTP服务器,搭建FTP服务器当然首选这个。本文介绍了在CentOS 6.4下安装...

    CentOS之家2852019-09-30
  • Centos记一次Centos服务器被挂马的抓马经历

    记一次Centos服务器被挂马的抓马经历

    这篇文章主要介绍了记一次Centos服务器被挂马的抓马经历分享,非常不错,具有参考借鉴价值,需要的朋友参考下...

    214399715742021-12-23
  • Centoscentos下netconfig 的安装方法

    centos下netconfig 的安装方法

    如果出现找不到该命令的错误信息,说明该命令包还没有安装,redcat/centos默认情况下是没有安装的。 ...

    centos教程网8372019-10-10
  • CentosCentOS系统中lvcreate命令的常见用法详解

    CentOS系统中lvcreate命令的常见用法详解

    这篇文章主要介绍了CentOS系统中lvcreate命令的常见用法,共计四种示例分别进行了演示,需要的朋友可以参考下 ...

    开源中文社区25352019-09-18