docker安装nginx及应用

docker安装nginx及应用

安装nginx

安装nginx

  //安装最新版本nginx
  // 省略目录创建
  version: '3.1'
  services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 81:80
      - 9000:9000
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./wwwroot:/usr/share/nginx/wwwroot

  

安装 两个tomcat

version: '3'
services:
  tomcat1:
    image: tomcat
    container_name: tomcat1
    ports:
      - 9090:8080

  tomcat2:
    image: tomcat
    container_name: tomcat2
    ports:
      - 9091:8080

在 /usr/local/docker/nginx/conf 目录下的nginx 配置文件
(这边的nginx 配置文件需要修改)

user  nginx;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;
    
    # 配置一个代理即 tomcat1 服务器
    upstream tomcatServer1 {
        server 192.168.75.145:9090;
        # server 192.168.75.145:9091;
    }

    # 配置一个代理即 tomcat2 服务器
    upstream tomcatServer2 {
     # server 192.168.75.145:9090;
        server 192.168.75.145:9091;
    }

    # 配置一个虚拟主机
    server {
        listen 81;
        server_name admin.service.itoken.funtl.com;
        location / {
                # 域名 admin.service.itoken.funtl.com 的请求全部转发到 tomcat_server1 即 tomcat1 服务上
                proxy_pass http://tomcatServer1;
                # 欢迎页面,按照从左到右的顺序查找页面
                index index.jsp index.html index.htm;
        }
    }

    server {
        listen 80;
        server_name admin.web.itoken.funtl.com;

        location / {
            # 域名 admin.web.itoken.funtl.com 的请求全部转发到 tomcat_server2 即 tomcat2 服务上
            proxy_pass http://tomcatServer2;
            index index.jsp index.html index.htm;
        }
    }
}
  • upstream:每个设备的状态:
  • down:表示当前的 server 暂时不参与负载
  • weight:默认为 1 weight 越大,负载的权重就越大。
  • max_fails:允许请求失败的次数默认为 1 当超过最大次数时,返回 proxy_next_upstream 模块定义的错误
  • fail_timeout:max_fails 次失败后,暂停的时间。
  • backup:其它所有的非 backup 机器 down 或者忙的时候,请求 backup 机器。所以这台机器压力会最轻
# 定义负载均衡设备的 Ip及设备状态 
upstream myServer {
    server 127.0.0.1:9090 down;
    server 127.0.0.1:8080 weight=2;
    server 127.0.0.1:6060;
    server 127.0.0.1:7070 backup;
}

从上面的配置文件,可以看出来,一个nginx 带动着两个tomcat,也就实现了负载均衡(当然,nginx也可以实现反向代理)

我的目录结构(测试时用的)
在这里插入图片描述

搭建伪 CDN 服务器

location / {
            root /usr/share/nginx/wwwroot;  # 对应nginx 配置的数据卷 
            index index.jsp index.html index.htm;
        }

在 wwwroot 目录下创建 cnd 文件,再下面创建hello.html
通过 ip+cdn+hello.html 访问网页

一般cdn 用于网站的css,js的样式库的加载

发布了46 篇原创文章 · 获赞 6 · 访问量 2663

猜你喜欢

转载自blog.csdn.net/renguiriyue/article/details/103011312