群集架构----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 查看加权轮询