8月12日上课内容 综合配置详解 四层+七层代理

后续内容概述:

Ivs集群:
keepalive:vip实现代理高可用 NAT VPN DR (DR最常用)

数据库:增制改查  备份 高可用 主从复制 读写分离

DBA 市场量小,从业者不多,工资一般般。

中间件: redis.*
分布式存储: ELK日志分析。kafka消息队列

监控zabbix


docker:容器化部罢服务 微服务。
ansibles:自动化运维,比shell好用 playbook

kys:面试占60%,重要,了解工作原理,要能搭起来

上述这些的概念,都必须会,服务要重点掌握

还得会排错,看日志

控制:开 关 重启 /var/log/messages
nginx logs access.log 访问日志
error.log 访问报错日志。
tomcat logs catlina.out

回归正题:

配置

四层转发流量+七层后端代理
环境:
192.168.233.61 nginx四层代理
192.168.233.62 nginx七层代理
192.168.233.63 nginx七层代理
192.168.233.71 tomcat1多实例
192.168.233.72 tomcat2单实例

systemctl stop firewalld
setenforce 0

192.1682.233.61 nginx四层代理:
vim /usr/local/nginx/conf/nginx.conf

pid /usr/local/nginx/run/nginx.pid;


events {
    worker_connections  1024;
}

stream {
   upstream test {
       server 192.168.233.62:80;
       server 192.168.233.63:80;


  }
  server {

       listen 8080;
       proxy_pass test;
 }

}

nginx七层代理62和63:
    upstream ky30 {
       server 192.168.233.71:8080 weight=1;
       server 192.168.233.71:8081 weight=1;
       server 192.168.233.72:8080 weight=1;
    }
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location ~ .*\.jsp$ {
           proxy_pass http://ky30; #配置Nginx处理动态页面请求,将 .jsp文件请求转发到Tomcat 服务器处理
           
           proxy_set_header HOST $host; #设定后端的Web服务器接收到的请求访问的主机名(域名或IP、端口),
           默认HOST的值为proxy_pass指令设置的主机名。
           
           proxy_set_header X-Real-IP $remote_addr;  #把$remote_addr赋值给X-Real-IP,来获取源IP
           
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
           #在nginx 作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来
           
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
            root /usr/local/nginx/html;
            expires 10d;
        }
配置相同

192.168.233.71 tomcat1多实例:

cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2

#配置多实例tomcat
vim /etc/profile.d/tomcat.sh
#tomcat1的全局变量设置
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1
 
#tomcat2的全局变量设置
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2
 
#加载设置好的全局变量
source /etc/profile.d/tomcat.sh

修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号
vim /usr/local/tomcat/tomcat2/conf/server.xml
        #22行,修改Server prot,默认为8005 -> 修改为8006
修改为8081
    #116行,修改Connector port AJP/1.3,
默认为8009 -> 修改为8010

修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量
vim /usr/local/tomcat/tomcat1/bin/startup.sh 
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1


vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1


vim /usr/local/tomcat/tomcat2/bin/startup.sh 
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2


vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2

配置tomcat01的测试页面

 
mkdir /usr/local/tomcat/tomcat1/webapps/test 
 
vim /usr/local/tomcat/tomcat1/webapps/test/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


tomcat01   


<% out.println("tomcat01 running");%>

步骤详解:

原理图:

8月12日上课内容 综合配置详解 四层+七层代理_第1张图片

先在撰写栏关闭防火墙和安全机制(对所有机器进行相同操作)

8月12日上课内容 综合配置详解 四层+七层代理_第2张图片

 

先从代理服务器开始

8月12日上课内容 综合配置详解 四层+七层代理_第3张图片

用四层做代理:

8月12日上课内容 综合配置详解 四层+七层代理_第4张图片

 把listen80改一下

8月12日上课内容 综合配置详解 四层+七层代理_第5张图片

 或者把下面的80改为81

8月12日上课内容 综合配置详解 四层+七层代理_第6张图片

 8月12日上课内容 综合配置详解 四层+七层代理_第7张图片

两个,一个是我们指定的80,一个是http模块里面的81,这样访问代理服务器就能使用默认端口80访问了

配置nginx2和nginx3既作为静态页面也作为七层代理转发动态请求

nginx2

七层代理要到http模块当中做

8月12日上课内容 综合配置详解 四层+七层代理_第8张图片

后端转发请求,要配置location 

8月12日上课内容 综合配置详解 四层+七层代理_第9张图片

nginx3同样需要配置

同样的在http模块里面配置

8月12日上课内容 综合配置详解 四层+七层代理_第10张图片 

8月12日上课内容 综合配置详解 四层+七层代理_第11张图片

8月12日上课内容 综合配置详解 四层+七层代理_第12张图片

tomcat作为后端服务器,配置一下页面和hosts即可

8月12日上课内容 综合配置详解 四层+七层代理_第13张图片

 一样,删除原来的host添加新的host

8月12日上课内容 综合配置详解 四层+七层代理_第14张图片

 到bin目录下重启服务

8月12日上课内容 综合配置详解 四层+七层代理_第15张图片

8月12日上课内容 综合配置详解 四层+七层代理_第16张图片

8月12日上课内容 综合配置详解 四层+七层代理_第17张图片

测试一下能否正常访问

 tomcat2

先看一下能否正常访问

8月12日上课内容 综合配置详解 四层+七层代理_第18张图片

 一样在webapps里创建一个test目录,然后vim index.jsp

8月12日上课内容 综合配置详解 四层+七层代理_第19张图片

8月12日上课内容 综合配置详解 四层+七层代理_第20张图片

 

cd到conf目录下,vim server.xml

8月12日上课内容 综合配置详解 四层+七层代理_第21张图片

删除原来的host,添加新host

8月12日上课内容 综合配置详解 四层+七层代理_第22张图片

再到bin目录下重启一下

8月12日上课内容 综合配置详解 四层+七层代理_第23张图片

 访问看一下

后端配置完毕,配置前端页面

nginx2

 8月12日上课内容 综合配置详解 四层+七层代理_第24张图片

 nginx3

8月12日上课内容 综合配置详解 四层+七层代理_第25张图片

8月12日上课内容 综合配置详解 四层+七层代理_第26张图片

一样把图片拖进来

8月12日上课内容 综合配置详解 四层+七层代理_第27张图片

注意:图片名字要和你写的一致

最后修改一下server端口号:

nginx2:

vim nginx.conf

8月12日上课内容 综合配置详解 四层+七层代理_第28张图片

重启一下

8月12日上课内容 综合配置详解 四层+七层代理_第29张图片

同样nginx3也改一下nginx.conf

8月12日上课内容 综合配置详解 四层+七层代理_第30张图片 

 重启一下

8月12日上课内容 综合配置详解 四层+七层代理_第31张图片

测试一下:

62页面: 

8月12日上课内容 综合配置详解 四层+七层代理_第32张图片

63:

8月12日上课内容 综合配置详解 四层+七层代理_第33张图片

通过代理地址来访问:

8月12日上课内容 综合配置详解 四层+七层代理_第34张图片

 

发现前端不能轮询,设置一下前端的负载均衡,把keepalive timeout暂时调整为0

让他切换(关闭连接保持)就可以看到轮询的效果了

8月12日上课内容 综合配置详解 四层+七层代理_第35张图片

 8月12日上课内容 综合配置详解 四层+七层代理_第36张图片

然后restart一下

8月12日上课内容 综合配置详解 四层+七层代理_第37张图片

再来访问看一下

8月12日上课内容 综合配置详解 四层+七层代理_第38张图片

8月12日上课内容 综合配置详解 四层+七层代理_第39张图片

这样就实现了轮询,但是要等一段时间,因为图片较大,需要时间加载

 

 

你可能感兴趣的:(nginx,运维,tomcat)