Linux配置nginx负载均衡

一:安装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

安装完依赖后最好在把这一行命令打上:yum install pcre-devel automake make zlib zlib-devel gcc-c++ libtool openssl openssl-devel -y

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

cd /usr/local/

wget http://nginx.org/download/nginx-1.20.2.tar.gz

tar -zxvf nginx-1.20.2.tar.gz

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

groupadd nginx

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

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

cd /usr/local/nginx-1.20.2

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

--with-http_ssl_module \

--with-http_sub_module \

--with-http_stub_status_module\

--with-http_gzip_static_module\

--with-pcre

make && make install

5:启动nginx

1、检查语法:    /usr/1ocal/nginx/sbin/nginx -t                #或者进入sbin目录下在运行./nginx  -t
2、启动nginx:     /usr/local/nginx/sbin/nginx    #进入目录/usr/local/nginx/sbin/,运行./nginx
3、查看端口:    Isof -i :80

6:防火墙开放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测试是否可以成功访问

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

Linux配置nginx负载均衡_第1张图片

三:实现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处理请求

你可能感兴趣的:(nginx,linux,服务器)