Nginx负载均衡详解

小兔叽 可爱的博主

时间: 2020-10-14 阅读: 113 字数:4872

{}
当用户访问量非常大时,我们需要使用多台Tomcat来构成集群,由Nginx负责将负载分摊到每一台Tomcat服务器上。

目录

1.负载均衡

当用户访问量非常大时,我们需要使用多台Tomcat来构成集群,由Nginx负责将负载分摊到每一台Tomcat服务器上。

2.Tomcat集群搭建

搭建Tomcat集群的基本思路是把Tomcat解压目录复制多份,然后让每一份Tomcat分别使用不同端口号即可。启动时分别进入自己的bin目录执行startup.sh即可。需要修改端口号的文件是server.xml,具体位置如下:

 22 <Server port="8005" shutdown="SHUTDOWN">
 71     <Connector port="8080" protocol="HTTP/1.1"
 93     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

3.Nginx简介

图片的描述

产地 俄罗斯
父亲 Igor Sysoev
开发语言 C
生日 第一个公开版本0.1.0发布于2004年10月4日
特长 能够支撑5万并发,CPU、内存资源占用小,运行稳定

4.Nginx服务器安装

①准备工作

需要gcc-c++支持,如果未安装,则执行yum install -y gcc-c++

yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl 兼容的正则表达式库。Nginx的HTTP模块使用PCRE来解析正则表达式,所以需要在Linux上安装PCRE库。pcre-devel是使用PCRE开发的一个二次开发库。Nginx也需要这个库。

zlib库提供了很多种压缩和解压缩的方式,Nginx使用zlib对HTTP包的内容进行gzip,所以需要在Linux上安装zlib库。

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

②编译安装

[1]第一步:创建目录

mkdir -p /var/temp/nginx/client

[2]第二步:上传并解压

tar -zxvf nginx-1.8.0.tar.gz

[3]第三步:生成Makefile文件

进入解压目录
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

[4]第四步:编译

make

[5]第五步:安装

make install

5.Nginx服务器基本操作

操作 命令 备注
启动 /usr/local/nginx/sbin/nginx
退出 /usr/local/nginx/sbin/nginx -s quit 正常关闭Nginx,推荐使用
停止 /usr/local/nginx/sbin/nginx -s stop 相当于杀死Nginx进程,不推荐使用
重启 /usr/local/nginx/sbin/nginx -s quit<br />/usr/local/nginx/sbin/nginx
重新加载配置文件 /usr/local/nginx/sbin/nginx -s reload

6.反向代理

①正向代理

情景:在一个局域网中,只有一台计算机可以接入互联网。其他计算机通过这台计算机间接接入互联网。

图片的描述

②反向代理

正向代理 反向代理
为浏览器进行代理 为服务器进行代理

图片的描述

图片的描述

7.负载均衡配置

①配置域名

图片的描述

②配置负载均衡

117     upstream balance {
118         server 192.168.10.164:8180;
118         server 192.168.10.164:8280;
119     }
120     server {
121         listen       80;
122         server_name  www.balance.com;
123 
124         location / {
125                 proxy_pass http://balance;
126                 index  index.html index.htm index.jsp;
127         }
128     }

8.解决重启后找不到pid文件问题

mkdir /usr/local/nginx/logs

修改Nginx配置文件:

#pid        logs/nginx.pid;
pid        /usr/local/nginx/logs/nginx.pid;
本文章网址:https://www.sjxi.cn/detil/e37425a56e2a4a03a81c0fe7e06efd5b

打赏作者

本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!

最新评论
当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号

×

(穷逼博主)在线接单

QQ: 1164453243

邮箱: abcdsjx@126.com

前端项目代做
前后端分离
Python 爬虫脚本
Java 后台开发
各种脚本编写
服务器搭建
个人博客搭建
Web 应用开发
Chrome 插件编写
Bug 修复