Linux配置nginx负载均衡

本文详细介绍了如何在CentOS系统中安装Nginx,包括更新系统、安装依赖、编译安装、设置服务及开机启动等步骤。接着,通过配置nginx.conf实现负载均衡,利用ip_hash和weight属性分配请求到不同的web服务器,确保了高可用性和负载的均衡分布。
摘要由CSDN通过智能技术生成

一:安装nginx前

1:更新系统软件

yum update

2:安装wget

yum install wget

3:安装编译器

yum install gcc gcc-c++

二:安装nginx

1:安装nginx依赖包

nginx的Rewrite模块和HTTP核心模块会使用

到PCRE正则表达式语法:

yum install pcre pcre-devel -y

nginx的各种模块中需要使用gzip压缩:

yum -y install zlib zlib-devel

安全套接字层密码库;

yum -y install openssl openssl-devel

2:下载nginx包并解压(到/usr/local/目录

下)

cd /usr/local/

wget http://nginx.org/download/nginx-

1.12.2.tar.gz

tar -zxvf nginx-1.12.2.tar.gz

3:编译安装(到/usr/local/下)

cd nginx-1.12.2

./configure --prefix=/usr/local/nginx

make && make install

4:创建并设置nginx运行账号:

groupadd nginx

useradd -M -g nginx -s /sbin/nologin nginx

cd /usr/local/nginx/conf

vim nginx.conf,设置user参数如下:

user nginx nginx

5:设置nginx为系统服务

vim /lib/systemd/system/nginx.service

文件内容:

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx-s

reload

ExecStop=/usr/local/nginx/sbin/nginx-s

stop

PrivateTmp=true

[Install]

WantedBy=multi-user.target

6:设置nginx开机自启动

systemctl enable nginx.service

7:开启nginx服务

systemctl start nginx.service

查看nginx是否启动成功

ps aux lgrep nginx

在虚拟机浏览器中访问测试:

http://localhost

出现以下界面表示可以访问:

Welcome to nginx!

Commcrda

Tani you for using igie

8:防火墙开放80端口(nginx默认80端口,

在nginx.conf中配置。)

永久开放80端口:

firewall-cmd -zone=public --add-

port=80/tcp --permanent

重启防火墙:

firewall-cmd --reload

查看防火墙开启状态:

systemctl status firewalld

查看80端口是否开放成功:

firewall-cmd -zone=public --query-

port=80/tcp

在浏览器直接访问虚拟机IP测试是否可以成功

访问

三:实现nginx负载均衡

实现负载均衡需要数台服务器,安装完一台虚

拟机,直接克隆出两台一样的安装环境的虚拟

systemctl start nginx.service启动三台虚拟

机上nginx

ip addr查看三台虚拟机的IP地址

负载均衡服务器A:192.168.179.131

web服务器1:192.168.179.132

web服务器2:192.168.179.133

vim /usr/local/nginx/html/index.html

修改内容A为负载均衡服务器

web1为web1处理请求

web2为web2处理请求

打开浏览器输入三台虚拟机IP可以看到刚才修

改的内容

打开负载均衡服务器A的配置文件

vim /usr/local/nginx/conf/nginx.conf

修改内容(添加以下内容):

upstream web-server(

ip_hash;

server 192.168.179.132 fail_timeout

=60s weight=3; #fail_timeout:

这是响应时间,时间长的分配的请求会减少。

server

192.168.179.133 weight=7;

#weight:这是权重,权重

越高,被访问的概率就越大。

server

(

listen 80;

server_name location;

location /(

proxy_pass http://web-server;

root html;

index index.html index.htm;

)

现在在浏览器访问负载均衡服务器A,出现的

内容是:web1处理请求。再刷新之后出现的内

容是:web2处理请求

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值