Giter Site home page Giter Site logo

nginx-docker's Introduction

Projeto NGINX WEB PROXY DOCKER

  • NGINX
  • Certificado Self-Signed SSL
  • Proxy reverso
  • Balanceamento de cargas
  • Otimização do NGINX

NGINX Como o NGINX funciona?

As solicitações web em outros servidores, como o Apache, funcionam de forma individual, ou seja, o usuário solicita uma página por meio do Protocolo HTTP ou HTTPS, que processa e retorna o resultado. Esse processo é chamado de thread individual, que é feita para cada solicitação requisitada ao servidor.

O NGINX funciona com base em eventos. Assim, em vez de fazer uma solicitação direta ao servidor, ele executa um processo mestre, chamado worker, e vários processos de trabalho, chamados conexões worker. Todo esse processo trabalha continuamente e de forma assíncrona.

Dessa forma, quando há um pedido de processamento, ele é feito pelas conexões worker, que fazem a solicitação ao processo mestre que, por sua vez, processa e retorna o resultado. Essa funcionalidade permite a manipulação de inúmeras conexões simultâneas, pois cada conexão worker é capaz de processar 1024 solicitações.

Quando o servidor está operando, cada worker carrega uma cadeia de módulos, dependendo de como a configuração é feita durante a instalação. Dessa forma, cada solicitação é feita com todos os recursos configurados em operação.

alt text

Proxy reverso e Balanceamento de Carga Um proxy reverso na prática funciona como um servidor intermediário entre os computadores de uma rede e o servidor web. Ele é utilizado como cache de página, com a finalidade de economizar recursos de banda e agilizar o seu carregamento. Ele é um servidor web que recebe as solicitações de conexão e gerencia o que será preciso requisitar no servidor principal ou verifica se a solicitação já está disponível em cache. O NGINX, portanto, oferece esse recurso, que pode ser facilmente configurado em seu arquivo de configuração.

O balanceamento de carga é um recurso extremamente importante para quem precisa de um site com alta disponibilidade, pois ele permite a distribuição das requisições de serviço entre os servidores.

Dessa forma, quando há um acréscimo nas solicitações ao servidor, como o aumento do tráfego, o NGINX consegue direcionar o fluxo para outros servidores que estejam no arquivo de configuração.

Existem três possibilidades de distribuição da carga no NGINX. Ela pode ser feita igualmente entre os servidores configurados, ser distribuída para o servidor que tenha poucas conexões no momento ou é possível determinar o endereço IP de cada cliente para cada servidor específico.

Neste projeto, configurei o proxy reverso e o balanceador de carga. Além disso, otimizei o servidor para melhorar a performance do Nginx e apliquei políticas de segurança, gerando um certificado SSL para aumentar a segurança e autenticidade dos sites. Os servidores foram provisionados via Docker usando Docker Compose, garantindo um ambiente replicável e gerenciável. Também criei um servidor de backup para garantir que, caso os outros servidores fiquem offline, o serviço continue disponível. Com isso, todas as requisições são distribuídas de forma a atingir alta disponibilidade dos serviços web de acordo com a demanda. alt text

Servidores ONLINE alt text alt text alt text

Servidores OFFLINE alt text Servidor BACKUP ONLINE alt text

Link references

nginx-docker's People

Contributors

thdevopssre avatar thadeuguimaraes avatar

Stargazers

 avatar Marcos Fischer avatar Uriel Francisco Libano avatar Michel Dellabeneta avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.