本文最后更新于:2021年6月15日 晚上
本文介绍了利用nginx搭建了一个简单的负载均衡。
一、准备工作
Linux系统: CentOS 7 x64
Nginx版本:1.12.0
Tomcat版本: 7.0.77
二、安装
安装Nginx依赖
| # gcc 用来编译nginx yum install gcc-c++
# PCRE nginx的http模块使用pcre来解析正则表达式 yum -y install pcre*
# zlib nginx使用zlib对http的内容进行gzip压缩 yum install -y zlib zlib-devel
# openssl https支持 yum -y install openssl
|
下载Nginx
| # 安装wget yum install wget # 下载nginx wget http://nginx.org/download/nginx-1.12.0.tar.gz
|
编译安装Nginx
| # 解压nginx tar -zxvf nginx-1.12.0.tar.gz # 进入解压目录 cd nginx-1.12.0 ./configure # 若无错误,可以执行以下安装 make make install # 默认安装到/usr/local/nginx目录
|
Nginx测试
| # 启动nginx /usr/local/nginx/sbin/nginx # 访问localhost wget localhost # 此命令会下载一个index.html文件 vim index.html # index.html中有关于nginx的类似于helloworld语句 # 由于我的Linux安装在虚拟机中,想要外部访问虚拟机内,需要关闭防火墙或开放端口 # 编辑防火墙, CentOS 7默认的防火墙不是iptables,需要另行安装,请自行解决 vim /etc/sysconfig/iptables # 添加80端口 -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # 重启防火墙 service iptables restart # 通过本机的浏览器访问虚拟机的ip http://192.168.243.127(此处为虚拟机的ip)
|
三、配置用于集群的Tomcat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| # 下载Tomcat wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.77/bin/apache-tomcat-7.0.77.tar.gz # 创建目录 mkdir /usr/local/tomcats # 解压Tomcat tar -zxvf apache-tomcat-7.0.77.tar.gz -C /usr/local/tomcats # 修改解压的Tomcat目录名称 mv apache-tomcat-7.0.77 tomcat1 # 为了测试nginx负载均衡,需要对tomcat的server.xml配置一下 vim tomcat1/conf/server.xml # 显示行号 :set nu # 在105行修改为如下, 并保存退出 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> # 修改示例程序 echo 'tomcat1:<%=session.getId()%>' > tomcat1/webapps/ROOT/index.jsp
# 拷贝tomcat1目录为tomcat2 cp -r tomcat1 tomcat2 # 修改tomcat2的server.xml中的端口号 vim tomcat2/conf/server.xml # 修改22行/71行/93行的端口 # 修改105行 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2"> # 修改示例程序 echo 'tomcat2:<%=session.getId()%>' > tomcat1/webapps/ROOT/index.jsp
|
四、配置Nginx
| vim /usr/local/nginx/conf/nginx.conf
|
启动tomcat
| # 启动两个tomcat ./tomat2/bin/startup.sh ./tomat1/bin/startup.sh
|
测试
外部访问虚拟机
http://192.168.243.127(此处为虚拟机的ip)
多刷新几次,可以看到页面的内容在变化,在tomcat1和tomcat2之间进行切换,至此完成了简单nginx负载均衡的搭建。