首先说一下Nginx的反向代理和负载均衡
当网站的访问量到达一定的程度时,单台服务器已经不能满足用户的请求,需要多台服务器做集群使用Nginx做反向代理,使得多台服务器分担负载,可以设置一定的权重,不会因为某台服务器负载高宕机而某台服务器闲置的情况.
安装Nginx
由于我使用的是ubuntu16.04,所以不是直接使用yun命令安装需要的库
- 安装gcc和g++
apt-get install build-essential
apt-get install libtool
- 安装pcre依赖库
apt-get install libpcre3 libpcre3-dev
- 安装zlib依赖库
apt-get install zlib1g-dev
- 安装openssl依赖库
apt-get install openssl
- 解压nginx安装包
tar -zxvf nginx-1.13.4.tar.gz
- 编译
make
- 安装
make install
- 配置软连接
可以直接使用nginx启动Nginx或者service nginx start,出现如下所示代表Nginx启动成功.
搭建Tomcat集群
我下载的是tomcat9,不需要重新下载tomcat,只需要把tomcat文件夹复制几份即可
修改其他两个tomcat的端口如下所示
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
<Server port="8007" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Connector port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
在其他的两个tomcat中修改index主页,使其显示不一样的效果(随便修改,只要自己能区分跳转到不同的tomcat服务器就行)
- 配置nginx.conf文件
cd /usr/local/nginx/conf
sudo vim nginx.conf
配置tomcat的所有节点以及权重,权重越低请求越少
在server/location中加载tomcat_server以及其他配置
最后访问Nginx的80端口出现以下结果
当我们不停刷新时,就会在三个页面之间切换,这样就实现了负载均衡