一、目的
使用Centos7搭建一个ngnix负载均衡服务器,为了测试负载均衡
二、测试条件(测试环境)
模拟两台服务器
使用本机跑两个Web项目:
- tomcat:8080端口
- tomcat:9090端口
Centos7作为nginx负载均衡服务器
三、Centos7中nginx的搭建
首先安装必要的库(nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库)。选定/usr/local为安装目录
1.安装PCRE库(具体版本具体选择)
进入安装目录
$ cd /usr/local/
下载压缩包
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
解压压缩包
$ tar -zxvf pcre-8.36.tar.gz
进入解压文件夹
$ cd pcre-8.36
运行配置
$ ./configure
编译
$ make
编译安装
$ make install
2.安装zlib库
$ cd /usr/local/
$ wget http://zlib.net/zlib-1.2.8.tar.gz
$ tar -zxvf zlib-1.2.8.tar.gz
$ cd zlib-1.2.8
$ ./configure
$ make
$ make install
3.安装ssl
$ cd /usr/local/
$ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
$ tar -zxvf openssl-1.0.1j.tar.gz
$ cd openssl-1.0.1
$ ./config
$ make
$ make install
4.安装nginx
$ cd /usr/local/
$ wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0
一下--prefix指定nginx安装目录,--with指定依赖库的路径
$ ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.36 --with-zlib=/usr/local/zlib-1.2.8
$ make
$ make install
上面执行结束即nginx安装完成。
测试
启动nginx
nginx安装路径下+/sbin/nginx
$ /usr/local/nginx/sbin/nginx
现在进入浏览器输入centos虚拟机的IP,如果看到了welcome to nginx页面则表示nginx安装成功并已经启动
nginx基本指令
启动
$ /usr/local/nginx/sbin/nginx
指定配置文件启动
$ /usr/local/nginx/sbin/nginx -c 配置文件路径
重启
$ /usr/local/nginx/sbin/nginx –s reload
停止
$ /usr/local/nginx/sbin/nginx –s stop
强制关闭
$ pkill nginx
四、配置负载均衡
配置文件在nginx的安装目录下的conf文件夹下的nginx.conf文件
编辑配置文件
$ vi /usr/local/nginx/conf/nginx.conf
配置内容如下
# 配置上游,请求会像水流一样从上流 流到 下流
# 我们在此处配置一个上流upstream
# 取一个上流名称tomcatserver,名称中不建议使用其他符号
# 如tomcat7能解析上流名称中的_,但是如果使用tomcat8,解析不了_,会报错
upstream tomcatserver{
# 给上流配置下流服务器,让请求分配给下流服务器
# 默认按照轮循方式来分发请求
server 本机IP:8080 weight=5; # weight表示权重,权重越高,分配到的概率更高
server 本机IP:9090 weight=5;
}
# 配置nginx监听
server {
# 监听8080端口
listen 8080;
# 配置域名,此处我们不需要,随便写
server_name www.xx.com;
location / {
# 指定我们要代理的上流
proxy_pass http://tomcatserver;
}
}
先关闭刚才打开的nginx
$ /usr/local/nginx/sbin/nginx –s stop
重新指定配置文件启动nginx
$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
现在负载均衡的配置就已经完成
访问Web项目:http://centos的ip:8080
在本机的tomcat中查看nginx的负载均衡效果