Docker(Docker-Compose编排)部署集群+ELK + Consul技术真项目实战(冲冲冲!!!)

本文档介绍了如何使用Docker-Compose在企业环境中部署Nginx/Apache+Tomcat站点,并结合ELK收集Nginx日志。通过Consul实现服务自动发现和配置。详细步骤包括安装Elasticsearch、Kibana、Logstash,以及设置Apache日志对接。
摘要由CSDN通过智能技术生成

项目:企业网站架构(容器)

环境:现有某公司现需求使用Docker技术将Nginx(可使用Apache)+Tomcat作为企业内部站点的展示,同时需要使用ELK技术对Nginx进行日志收集
架构图

在这里插入图片描述

需求

  • 1、使用技术:Docker(Docker-Compose编排)部署集群(需求可以通过win10访问到内部站点首页(首页内容THIS IS
    KY06)
  • 2、使用ELK收集Nginx/Apache日志信息,并同样需要使用win10访问到Kibana所提供的数据展示页面
  • 3、使用consul技术(自动发现、更新、配置功能)实现自动发现/配置服务

consul自动发现服务

master:192.168.158.30
consul agent -server -bootstrap -ui -data-dir=/var/lib/consul-data -bind=192.168.158.30 -client=0.0.0.0 -node=consul-server01 &> /var/log/consul.log &
tomcat群集服务器:192.168.158.40
docker run -d --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock --restart=always gliderlabs/registrator:latest -ip=192.168.158.40    consul://192.168.158.30:8500 

#创建nignx容器,测试consul网页能否获取到
docker run -dit -p:83:80 --name tom1 -h tom-01 nginx

在这里插入图片描述

[root@server3 consul]# vi nginx.ctmpl 
upstream http_backend {
   
    {
   {
   range service "tomcat"}}    #寻找相同的名字
     server {
   {
   .Address}}:{
   {
   .Port}};
     {
   {
   end}}
}

server {
   
       listen 1222;         #代理端口,自动添加的容器通过此端口轮询
       server_name localhost 192.168.158.30;
       access_log /var/log/nginx/july.cn-access.log;
       index index.html index.php;
       location ~ \.jsp$ {
   
          proxy_set_header HOST $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header Client-IP $remote_addr;
          proxy_set_header X-Fprwarded-For $proxy_add_x_forwarded_for;
          proxy_pass http://http_backend;
                 }
       }

Docker-Compose编排容器

[root@localhost compose_nginx]# ls
docker-compose.yml  tomcat  wwwroot
[root@localhost compose_nginx]# tree
.
├── docker-compose.yml
├── tomcat
│   ├── apache-tomcat-8.5.16.tar.gz
│   ├── Dockerfile
│   └── jdk-8u91-linux-x64.tar.gz
├── wwwroot1
│   └── index.jsp
└── wwwroot2
    └── index.jsp

[root@localhost compose_nginx]# cat docker-compose.yml 
version: '3'
services:
  tomcat15:
    image: tomcat:latest
    hostname: tomcat16
    build:
      context: ./tomcat
      dockerfile: Dockerfile
    ports:
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值