NGINX

Description

Mind Map on NGINX, created by Luiz Eduardo on 01/05/2019.
Luiz  Eduardo
Mind Map by Luiz Eduardo, updated more than 1 year ago
Luiz  Eduardo
Created by Luiz Eduardo over 5 years ago
152
0

Resource summary

NGINX

Annotations:

  • https://w3techs.com/technologies/history_overview/web_server http://nginx.org/ https://www.nginx.com/
  1. /etc/nginx/
    1. /etc/nginx/nginx.conf
      1. http {}
        1. log_format
        2. server {}

          Annotations:

          •      server { listen 8080 default_server; listen [::]:8080 default_server; server_name _; root /var/www/site1; # root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
          1. location{}

            Annotations:

            • { proxy_pass http://backend; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; }
            1. index

              Annotations:

              • configure the names of valid index falies
        3. /usr/sbin/nginx
          1. # nginx -s stopt| reload| quit | reopen|
            1. #nginx -t

              Annotations:

              • Verifica a sintaxe no arquivo de configuração
              1. # nginx -s reload

                Annotations:

                • Recarrega as configurações
              2. /var/log/nginx/access.log

                Annotations:

                • /var/log/nginx/access.log
                1. Principais recursos
                  1. Servidor Web
                    1. Proxy reverso

                      Annotations:

                      • Visto sua capacidade de proxy reverso HTTP, o Nginx pode ser utilizado como frontend, recebendo as requisições HTTP para, por exemplo, aproveitar-se de seus recursos de cache, e solicitando ao Apache, o qual estará em backend, as demais requisições. Tal combinação permite a redução de recursos do ambiente Web.
                      1. proxy_set_header

                        Annotations:

                        • : Adiciona e faz alterações no cabeçalho dos requests antes de encaminhá-los ao destino
                        1. proxy_pass

                          Annotations:

                          •  Determina o IP/Porta para o qual o request será encaminhado
                          1. Exemplo de configuração:

                            Annotations:

                            • location / { proxy_pass http://192.168.1.210:8080 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; }
                            1. Conceito

                              Annotations:

                              • Um proxy reverso é um servidor de rede geralmente instalado para ficar na frente de um servidor Web. Todas as conexões originadas externamente são endereçadas para um dos servidores Web através de um roteamento feito pelo servidor proxy, que pode tratar ele mesmo a requisição ou encaminhar a requisição toda ou parcialmente a um servidor Web, que tratará dela.[1][2][3][4] Um proxy reverso repassa o tráfego de rede recebido para um conjunto de servidores, tornando-o a única interface para as requisições externas. Por exemplo, um proxy reverso pode ser usado para balancear a carga de um cluster de servidores Web. O que é exatamente o oposto de um proxy convencional, que age como um despachante para o tráfego de saída de uma rede, representando as requisições dos clientes internos para os servidores externos à rede a qual o servidor proxy atende.
                            2. Protocolos suportados: http, https,SMTP, POP3, IMAP
                              1. Balanceador de carga
                              2. event-based web server

                                Annotations:

                                • event-based web server:   utiliza um processo-mestre e um – ou poucos – processos operários disparados sob demanda
                            3. Principais características
                              1. Velocidade

                                Annotations:

                                •  Por usar socket assíncrono (arquitetura orientada a eventos), não espalha processos quando recebe requisições. Um processo para cada núcleo de processamento é suficiente para dar conta de milhares de conexões, permitindo o uso mais eficiente da CPU e memória;
                                1. Configuração flexível

                                  Annotations:

                                  • Seu arquivo de configuração é muito mais simples de ser entendido, pois usa o conceito de blocos hierárquicos e documentação API detalhada;
                                  1. Streaming

                                    Annotations:

                                    • Nginx possui suporte nativo para streaming de conteúdo FLV e MP4, sem necessidade de módulos adicionais.
                                    1. Instalação de módulos

                                      Annotations:

                                      • Diferentemente do Apache, que permite o acoplamento dinâmico dos módulos que provem funcionalidade adicional ao Nginx devem ser especificados no momento da compilação. Ou seja, caso você deseje, por exemplo, ter suporte a requisições HTTPS na versão já instalada no sistema, você terá que recompilar novamente o web server.
                                      1. Configuração de hosts virtuais

                                        Annotations:

                                        • Toda e qualquer configuração referente a um domínio hospedado no Nginx deve ser realizado diretamente em seu arquivo de configuração (nginx.conf). Isto garante uma melhor performance no processamento da requisição, porém, retira um pouco da flexibilidade que o Apache permite através de seus arquivos .htaccess.
                              2. FastCGI para PHP

                                Annotations:

                                • O FastCGI é um protocolo que faz uma interface entre o servidor web e programas ou scripts em PHP, C, Perl e etc
                                1. PHP

                                  Annotations:

                                  • Diferente do Apache que trabalha diretamente com o mod_php, o NGINX precisa de um processo a parte para servir os conteúdos desses programas. No caso do PHP o processo é o php-fpm, que roda na porta 9000 ou através de um socket.
                                  1. php-fpm
                                    1. roda na porta 9000 ou através de um socket
                                  2. Configurações utilizadas
                                    1. fastcgi_pass

                                      Annotations:

                                      •  Indica o IP/Porta ou Socket para o qual os requests PHP serão encaminhados
                                      1. fastcgi_param

                                        Annotations:

                                        • Determina parâmetros que serão enviados ao PHP
                                        1. Exemplo de configuração:

                                          Annotations:

                                          • location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param QUERY_STRING $query_string; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } 
                                      2. Principais configurações

                                        Annotations:

                                        • O nginx.conf é estruturado através de blocos. As configurações referentes ao servidor HTTP são localizadas no bloco httpd { } e configurações específicas de cada servidor dentro do bloco server { }.
                                        1. /var/log/nginx/error.log
                                          Show full summary Hide full summary

                                          Similar

                                          Key Paintings
                                          Julia Lee
                                          Concepts in Biology Final Exam
                                          mlszala
                                          Maths C4 Trig formulae (OCR MEI)
                                          Zacchaeus Snape
                                          GCSE CHEMISTRY UNIT 2 STRUCTURE AND BONDING
                                          ktmoo.poppypoo
                                          EEO Terms
                                          Sandra Reed
                                          OCR AS CHEMISTRY A DEFINITIONS
                                          awesome.lois
                                          Biology B2.2
                                          Jade Allatt
                                          New GCSE Maths
                                          Sarah Egan
                                          GCSE - Introduction to Economics
                                          James Dodd
                                          2PR101 1. test - 5. část
                                          Nikola Truong
                                          1PR101 2.test - Část 2.
                                          Nikola Truong