2.3 负载均衡调度器(备)
- 备用服务器的nginx安装与配置,与主服务相同,就不再次演示
#(在主调度器操作)scp keepalived.conf 192.168.13.40:`pwd` #将配置文件远程传送给备用负载调度器 vim /etc/keepalived/keepalived.conf 12行:router_id NGINX_02 #设置负载均衡类型和主次级别 21行:state BACKUP #设置状态为BACKUP(备份状态,必须大写) 24行:priority 90 #优先级只要比master低就行 systemctl start keepalived #启动keepalived高可用服务 ip addr #此时查看ip,会发现没有VIP地址 #(在主调度器操作)systemctl stop nginx #将主服务器nginx服务停止 ip addr #等待一分钟后,发现VIP地址已经到备用调度器上面了 注:为了防止脑裂现象,可以设置非抢占模式(不再区分主从,都设置为BACKUP,且添加配置nopreempt,可自行搜索扩展)
2.4 部署节点服务器(nginx+Tomcat)
2.4.1 编译安装jdk环境
#安装jdk环境(Tomcat是基于jdk环境运行的) tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local/ #将源码包下载至对应的目录 cat >/etc/profile.d/jdk.sh<<EOF #设置jdk相关的环境变量(以前有解释过) JAVA_HOME=/usr/local/jdk1.8.0_91 JRE_HOME=$JAVA_HOME/jre CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH EOF source /etc/profile.d/jdk.sh #刷新环境变量配置文件 java -version #显示的版本应该与源码包的版本一致(博主是:1.8.0_131)
2.4.2 编译安装Tomcat
cd /opt #下载Tomcat源码包 tar xf apache-tomcat-9.0.16.tar.gz mv apache-tomcat-9.0.16 /usr/local/tomcat mkdir -p /usr/local/tomcat/webapps/test cd /usr/local/tomcat/webapps/test #Tomcat动态主页配置(不需要精通,只需要简单的配置,能进行检测即可) cat >index.jsp<<EOF <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <html> <head> <title>JSP test2 page</title> <body> <% out.println("动态页面2,this is web 2");%> </head> </body> </html> EOF #修改Tomcat动态页面路径指向(不需要精通,只需要简单的配置,能进行检测即可) sed -i '148,149d' /usr/local/tomcat/conf/server.xml sed -i '148i <Host name="localhost" appBase="webapps"\n unpackWARs="true" autoDeploy="true"\n xmlValidation="false" xmlNamespaceAware="false">' /usr/local/tomcat/conf/server.xml sed -i '151i <Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true" />' /usr/local/tomcat/conf/server.xml #唯一要注意的就是151行,这行是路径指向,其余的都是默认配置,复制粘贴即可 /usr/local/tomcat/bin/startup.sh #启动Tomcat服务 curl 192.168.13.20:8080 #访问页面,检测Tomcat是否启动成功
2.4.3 编译安装nginx(七层反向代理+动静分离)
- 安装步骤与2.2.1的编译安装方法相同,配置文件修改如下即可
vim /usr/local/nginx/conf/nginx.conf 39行:charset utf-8; #开启万国字符集 47行下插入: location ~ jsp$ { proxy_pass http://192.168.13.20:8080; } nginx -t #检查语法错误 systemclt start nginx #启动nginx服务 此时到浏览器访问http://192.168.13.100:1314和http:192.168.13.100:1314/index.jsp会产生动静分离效果,多几台虚拟机访问还会产生负载均衡
三、结语
- 易错点:大括号对应错误,这种错误通过nginx -t 可逐渐排查出来,为了防止此类错误,要养成良好写代码习惯,复制粘贴的时候也要注意大括号是否对应整齐
- 注意点:想使用四层反向代理,nginx必须安装stream模块