7 Operação e manutenção-ubuntu16.04.6xenial-ambiente básico construção-docker integração nginx

Docker integra nginx

1 Introdução ao nginx

Com as funções de servidor http, host virtual, proxy reverso, balanceamento de carga,
pode ser realizado com base no ip, porta e nome de domínio

2 host virtual nginx

2.1 Execução simples

1 Digite o diretório de instalação e edite o arquivo de inicialização

#创建目录
mkdir -p /usr/local/docker/nginx 
#进入目录
cd /usr/local/docker/nginx 
#编辑文件
vi docker-compose.yml

2 Inicie o arquivo docker-compose.yml

version: '3'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 81:80

3 Inicie o programa

docker-compose up

4 Verificação de acesso

  • Endereço da http://192.168.30.140:81visita, resultado da visita conforme mostrado abaixo
    Insira a descrição da imagem aqui

2.2 Usar volume de dados

Mapeie o arquivo de configuração do contêiner para a máquina host para facilitar a modificação do arquivo de configuração. Siga as etapas em 1.1.1 aqui

1 Pare o contêiner nginx que 1.1.1 iniciou

cd /usr/local/docker/nginx && docker-compose down

2 Edite o arquivo de inicialização

vi docker-compose.yml

3 Modifique o arquivo de inicialização docker-compose.yml

version: '3'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 81:80
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./project/:/usr/share/nginx/project/

4 Entre no diretório de configuração e crie um arquivo de configuração

#进入配置目录
mkdir conf && cd  conf/  
#创建配置文件
vi nginx.conf

5 Defina o arquivo de configuração nginx.conf

#这里是处理的线程数,可根据自己的cpu数设置,在版本1.11.3之前会出现惊群问题(多个cpu同时执行一个请求,浪费资源)
worker_processes                1;
events {
        # 一个线程的连接数
        worker_connections      1024;
}
http {
        include                 mime.types; #文件规范
        default_type            application/octet-stream;
        sendfile                on;     
        keepalive_timeout       65;     
        server {
                listen          80;     
                server_name     192.168.30.140;
                location        /       {
                        root    /usr/share/nginx/project/port81;
                        index   index.html index.html;
                }
        }
}

6 Entre no diretório do projeto e defina o arquivo do projeto

mkdir -p  /usr/local/docker/nginx/project/port81 && cd  /usr/local/docker/nginx/project/port81 && echo 'hello 81' > index.html

7 Inicie o contêiner

cd /usr/local/docker/nginx && docker-compose up -d

8 verificação de acesso

  • Endereço da http://192.168.30.140:81visita, resultado da visita conforme mostrado abaixo
    Insira a descrição da imagem aqui

3 Exemplo de proxy reverso

3.1 Proxy de encaminhamento e proxy reverso

1 Forward proxy
Insira a descrição da imagem aqui
Forward proxy, o usuário instala a ferramenta do servidor proxy na máquina ou define o endereço do servidor proxy . Quando o usuário acessa o servidor de destino, o servidor proxy é acessado primeiro e, em seguida, o servidor proxy solicita o host de destino. Os dados retornados pelo host de destino são primeiro armazenados em cache no servidor proxy. O servidor proxy retorna os dados ao usuário após recebê-los.

1 Melhore a velocidade de acesso e leia diretamente o cache do
servidor proxy. 2 Configure um firewall no servidor proxy para filtrar informações e aumentar a segurança do sistema.
3 Visite sites que não podem ser acessados ​​diretamente, como www.google.com

2 Proxy reverso Proxy
Insira a descrição da imagem aqui
reverso, o servidor proxy é instalado no servidor de destino , os usuários só podem saber o endereço IP do proxy reverso, mas não a existência do cluster de servidor atrás do servidor proxy.

1 Configure o cache para reduzir a pressão de acesso do servidor
2 Impeça ataques maliciosos da rede externa para a rede interna
3 Realize o balanceamento de carga

3.2 Demonstração de proxy reverso

Aqui estão três arquivos que precisam ser observados para acesso ao proxy tomcat: 1 arquivo de contêiner iniciado por tomcat; arquivo de contêiner iniciado por 2nginx; arquivo de configuração 3nginx

3.2.1 Inicie o contêiner do Tomcat

1 Digite o diretório de instalação e edite o arquivo de inicialização

#创建安装目录
mkdir -p /usr/local/docker/tomcat && cd /usr/local/docker/tomcat
#编辑启动文件
vi docker-compose.yml

2 Inicie o arquivo docker-compose.yml

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

3 Inicie o programa

docker-compose up

4 Verificação de acesso

  • Endereço da http://192.168.30.140:9090visita, resultado da visita conforme mostrado abaixo
    Insira a descrição da imagem aqui

3.2.2 Inicie o proxy nginx

1 Entre no diretório de instalação e edite o arquivo de configuração ngxin

#进入目录
cd /usr/local/docker/nginx/conf
#编辑文件
vi nginx.conf

2 O arquivo de configuração nginx.conf
substitui root por proxy_pass

#这里是处理的线程数,可根据自己的cpu数设置,在版本1.11.3之前会出现惊群问题(多个cpu同时执行一个请求,浪费资源)
worker_processes                1;
events {
        # 一个线程的连接数
        worker_connections      1024;
}
http {
        include                 mime.types; #文件规范
        default_type            application/octet-stream;
        sendfile                on;     
        keepalive_timeout       65;     
        server {
                listen          9090;     
                server_name     192.168.30.140;
                location        /       {
                        proxy_pass	http://192.168.30.140:9090;
                        index   	index.html index.html;
                }
        }
}

3 Pare o contêiner nginx que 1.1.1 iniciou

cd /usr/local/docker/nginx && docker-compose down

4 Edite o arquivo de inicialização

vi docker-compose.yml

5 Modifique o arquivo de inicialização docker-compose.yml

version: '3'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 90:9090
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./project/:/usr/share/nginx/project/

6 Inicie o programa

docker-compose up

7 verificação de acesso

  • Endereço da http://192.168.30.140:90visita, resultado da visita conforme mostrado abaixoInsira a descrição da imagem aqui

4 Exemplo de balanceamento de carga

4.1 Inicie o contêiner do Tomcat

1 Digite o diretório de instalação e edite o arquivo de inicialização

#创建安装目录
mkdir -p /usr/local/docker/tomcat && cd /usr/local/docker/tomcat
#编辑启动文件
vi docker-compose.yml

2 Inicie o arquivo docker-compose.yml

version: '3'
services:
  tomcat1:
    restart: always
    image: tomcat
    container_name: tomcat1
    ports:
      - 9090:8080
  tomcat2:
    restart: always
    image: tomcat
    container_name: tomcat2
    ports:
      - 9091:8080

3 Inicie o programa

docker-compose up

4 Modificar tomcat homepage
por docker psconsultar ID de recipiente do tomcat, como mostrado a seguir,
Insira a descrição da imagem aqui
introduzir o contentor

docker exec -it e0 bash

Modifique a página inicial e saia

echo '9090' >> webapps/ROOT/index.jsp && exit

Da mesma forma, adicione o conteúdo 9091 à página inicial do contêiner b6 de 9091.
5 Verificação de acesso

  • Endereço da http://192.168.30.140:9090visita, resultado da visita conforme mostrado abaixo
    Insira a descrição da imagem aqui
  • Endereço da http://192.168.30.140:9091visita, resultado da visita conforme mostrado abaixo
    Insira a descrição da imagem aqui

4.2 Iniciar o proxy nginx

1 Entre no diretório de instalação e edite o arquivo de configuração ngxin

#进入目录
cd /usr/local/docker/nginx/conf
#编辑文件
vi nginx.conf

2 O arquivo de configuração nginx.conf
adiciona upstream e modifica proxy_pass

#这里是处理的线程数,可根据自己的cpu数设置,在版本1.11.3之前会出现惊群问题(多个cpu同时执行一个请求,浪费资源)
worker_processes                1;
events {
        # 一个线程的连接数
        worker_connections      1024;
}
http {
        include                 mime.types; #文件规范
        default_type            application/octet-stream;
        sendfile                on;     
        keepalive_timeout       65;     
        upstream   tomcat {
			server			192.168.30.140:9090	weight=10;
			server			192.168.30.140:9091	weight=10;
       	}
        server {
                listen          9090;     
                server_name     192.168.30.140;
                location        /       {
                        proxy_pass	http://tomcat;
                        index   	index.html index.html;
                }
        }
}

3 Pare o contêiner nginx que 1.1.1 iniciou

cd /usr/local/docker/nginx && docker-compose down

4 Edite o arquivo de inicialização

vi docker-compose.yml

5 Inicie o arquivo docker-compose.yml

version: '3'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 90:9090
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./project/:/usr/share/nginx/project/

6 Inicie o programa

docker-compose up

7 verificação de acesso

  • Endereço da http://192.168.30.140:90visita, resultado da visita conforme mostrado abaixo
    Insira a descrição da imagem aqui
    Insira a descrição da imagem aqui

5 Exemplo de arquivos estáticos de front-end

1 O diretório do arquivo docker-compose.yml de inicialização
é: / usr / local / docker / nginx

version: '3'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 81:80
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf
      - ./project/:/usr/share/nginx/project/

2 O
diretório do arquivo de configuração nginx.conf é: / usr / local / docker / nginx / conf

#这里是处理的线程数,可根据自己的cpu数设置,在版本1.11.3之前会出现惊群问题(多个cpu同时执行一个请求,浪费资源)
worker_processes                1;
events {
        # 一个线程的连接数
        worker_connections      1024;
}
http {
        include                 mime.types; #文件规范
        default_type            application/octet-stream;
        sendfile                on;     
        keepalive_timeout       65;     
        server {
                listen          80;     
                server_name     192.168.30.140;
                location        /       {
                        root    /usr/share/nginx/project;
                        index   index.html index.html;
                }
        }
}

3 Descompacte o arquivo, o diretório do arquivo estático de front-end AdminLTE-2.4.17.tar.gz
é: / usr / local / docker / nginx / project

tar -xzvf AdminLTE-2.4.17.tar.gz

4 Inicie o programa O
diretório atual é: / usr / local / docker / nginx

docker-compose up

5 verificação de acesso

  • Endereço da http://192.168.30.140:81/AdminLTE-2.4.17/index.htmlvisita, resultado da visita conforme mostrado abaixo
    Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_45544465/article/details/100098227
Recomendado
Clasificación