群集架构----Nginx调度器&Tomcat 负载均衡

群集架构----Nginx调度器&Tomcat 负载均衡

####.反向代理与负载均衡

正向代理:海外代购,微商:代理:代替别人做事。

正向代理:由内向外。 代替 效率低
代替局域网内PC客户机,请求外部应用服务器。

反向代理:由外向内 代替 效率低
代替外部互联网的用户请求内部的我们部署的应用服务器。

集群用反向代理,代理外部客户访问我们搭建的内部群集服务器
公司电脑太多,带宽不够,用正向代理,代理你去上网访问外部服务器
负载均衡不代理,只负载分发请求给后端服务器	问老师问题,他让你去找班长

负载均衡:转发、效率高,适合高并发 常见LVS 3万+以上的并发量
甩手掌柜。

------------------------------Tomcat服务器---------------
###第一台Tomcat01

1.解压jdk的压缩包
systemctl stop firewalld
setenforce 0 
tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
2.配置Java环境变量
vim /etc/profile
'添加'
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
3.加载 JAVA环境变量
source /etc/profile
4.解压Tomcat软件包
tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local

5.修改目录名,便于操作
cd /usr/local
mv apache-tomcat-8.5.16/ tomcat
6.创建软链接,优化服务控制方式
ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/

7.创建web站点,编辑站点内容,加入测试页面
mkdir -pv /web/webapp1
vim /web/webapp1/index.jsp
 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
 <head>
  <title>JSP test1 page</title>
 </head>
 <body>
  <% out.println("Welcome Tomcat 01");%>
 </body>
</html>

8.修改Tomcat的server.xml文件,定义一个虚拟主机,并且将网站文件路径指向已经建立的/web/webapp1,在hos段增加context段
[root@tomcat01 ~]# vim /usr/local/tomcat/conf/server.xml
//148行
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/web/webapp1" path="" reloadable="false">
        </Context>
 //注解:docBase: web应用的文档基准目录
reloadable设置监视“类”是否变化
path=""设置默认“类”

9.关闭安全性功能,开启服务
startup.sh 
systemctl stop firewalld
setenforce 0

###二.第二台Tomcat服务器的配置
1.解压jdk的压缩包
tar xzvf jdk-8u231-linux-x64.tar.gz -C /usr/local
2.配置JAVA环境变量
vim /etc/profile  //追加到末尾
export JAVA_HOME=/usr/local/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
3.加载JAVA环境变量
source /etc/profile
4.解压tomcat软件包
tar xzvf apache-tomcat-8.5.50.tar.gz -C /usr/local
5.修改目录名,便于操作
cd /usr/local
mv apache-tomcat-8.5.50/ tomcat/
6.创建软链接,优化服务控制方式
ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
7.创建web站点,编辑站点内容
 mkdir -pv /web/webapp1
 vim /web/webapp1/index.jsp
 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
 <head>
  <title>JSP test1 page</title>
 </head>
 <body>
  <% out.println("Welcome Tomcat 02");%>
 </body>
</html>
~
8.修改Tomcat的server.xml文件,定义一个虚拟主机,并且将网站文件路径指向已经建立的/web/webapp1,在hos段增加context段
[root@tomcat02 ~]# vim /usr/local/tomcat/conf/server.xml
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context docBase="/web/webapp1" path="" reloadable="false">
        </Context>
 
9.关闭安全性功能,开启服务
shutdown.sh
startup.sh 
systemctl stop firewalld
setenforce 0

----------------------------------------Nginx服务器配置调度

1.解压软件包
tar xzvf nginx-1.12.2.tar.gz -C /opt
2.下载相关软件包
yum install pcre-devel zlib-devel gcc gcc-c++ make -y
3.创建nginx的用户
useradd -M -s /sbin/nologin nginx
4.编译安装nginx
cd /opt/nginx-1.12.0
./configure \
--prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-http_stub_status_module \    //启用状态统计
--with-http_gzip_static_module \    //启用gzip静态压缩
--with-http_flv_module     //启用flv模块,提供寻求内存使用基于时间的偏移量文件
 
make && make install
 
4.编辑nginx的主配置文件
vim /usr/local/nginx/conf/nginx.conf
 #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    upstream tomcat_server {              //添加upstream函数,配置tomcat服务器池名称自定义,但保证和下面调用名称一致即可
        server 192.168.100.150:8080 weight=1;   //weight代表权重
        server 192.168.100.160:8080 weight=2;
        }
 
    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
 
        location / {
            root   html;
            index  index.html index.htm;
            proxy_pass http://tomcat_server;    //添加反向代理到设置的tomcat服务器池,这里调用的名称,要和上面生命的函数名一致
        }

		
5.优化服务控制方式
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
 
6.检查语法,是否配置正确
[root@nginx ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@nginx ~]# 
 
7.关闭安全性功能,开启nginx服务
systemctl stop firewalld
setenforce 0
nginx  				//启用nginx服务
netstat -ntap | grep nginx
killall -1 nginx 	//重启nginx服务

8. 页面测试
访问代理服务器192.168.100.140   查看加权轮询