A série completa do Nginx Mastery: De Zero a Production Hero
Fonte da imagem: UNSPLASH – Faca do exército suíço representando a versatilidade do Nginx bem -vinda à série de tutoriais Nginx mais abrangente que você já precisará. Seja você um iniciante completo ou deseja subir de nível de nível de suas habilidades de gerenciamento de servidores, esta série o levará a partir de “O que é nginx?” Para implantar configurações prontas para produção. O que você aprenderá nesta série até o final desta série, poderá: configurar o nginx a partir de qualquer sistema Configurar servidores da Web de alto desempenho Crie configurações de proxy reverso robustas implementam estratégias avançadas de balanceamento de carga que são aplicativos para que o SSL/TLS crie gateways API para MicrosServices Otimize Performance para Applications Alta Trafáticos Monitor Sem problemas! Começamos do básico absoluto. Desenvolvedores de front -end: Deseja entender como seus aplicativos são servidos? Esta série preenche essa lacuna. Desenvolvedores de back -end: Pronto para implantar suas APIs profissionalmente? Temos você coberto. Engenheiros de DevOps: Procurando dominar uma das ferramentas mais importantes do seu kit de ferramentas? Vamos mergulhar fundo. Administradores de sistema: Deseja espremer todo desempenho de seus servidores? Vamos mostrar como. Parte 1: Fundamentos Nginx – Seus primeiros passos O que exatamente é Nginx? Pense no NGINX (pronunciado “Engine-X”) como um controlador de tráfego digital super eficiente. Assim como um controlador de tráfego em um cruzamento movimentado gerencia o fluxo de carros, o Nginx gerencia o fluxo de solicitações da Web para garantir que tudo funcione sem problemas. A analogia simples Imagine que você possui um restaurante popular: sem o nginx: os clientes precisam encontrar seus próprios assentos, obter sua própria água e de alguma forma descobrir onde está a cozinha. Caos! Com o NGINX: você tem um anfitrião profissional que cumprimenta os clientes, atribui tabelas com eficiência, serve água rapidamente e garante que a cozinha receba pedidos na ordem certa. Muito melhor! É essencialmente o que o NGINX faz para seus aplicativos da Web. Por que nginx? Os números não mentem usados por 30%+ de todos os sites (incluindo Netflix, Airbnb, WordPress.com) podem lidar com mais de 10.000 conexões simultâneas em hardware modesto usa memória mínima em comparação com alternativas extremamente estáveis – alguns servidores são executados por anos sem reiniciar o que torna o nginx especial? 1. É uma faca do exército suíço 🔧 nginx não é apenas uma ferramenta – é muitos: gráfico lr a[Nginx] -> b[Web Server]
A -> c[Reverse Proxy]
A -> d[Load Balancer]
A -> e[SSL Terminator]
A -> f[Cache Server]
A -> g[API Gateway]
Digite o modo de saída de tela cheia de tela cheia 2. Arquitetura orientada a eventos Os servidores tradicionais criam um novo processo para cada visitante (imagine contratar um novo funcionário para cada cliente). O NGINX usa um modelo orientado a eventos (um funcionário eficiente que lida com vários clientes). É por isso que é tão rápido e eficiente em termos de memória. 3. A confiabilidade testada pela batalha que a Netflix usa o Nginx para servir milhões de horas de vídeo. Se for bom o suficiente para a Netflix, provavelmente é bom o suficiente para o seu projeto! Instalação: Obtendo Nginx no seu sistema Ubuntu/Debian (mais comum) # Atualização Lista de pacote sudo Atualização APT # Instale nginx sudo apt install nginx # Iniciar nginx sudo systemctl Iniciar nginx # Enable ModEMCTL SUDO SUDO SUSTEMCTL ENABLE NGINX # Verifique se o SUSTEMCTL FULLOTCTL NGAT SUDO SUSTEMCTL Nginx sudo dnf install nginx # ou ‘yum install nginx’ em sistemas mais antigos # iniciar e ativar sudo systemctl iniciar nginx sudo systemctl atabille nginx enter uma tela cheia de saída de tela full screen modos (for full) # usando homebraw brew install # -p 8080: 80 nginx # visite para vê -lo funcionando! Digite o modo de saída do modo de tela completa, sua primeira configuração nginx, vamos começar com algo simples, mas poderoso. Criaremos uma configuração que serve a um site básico. Compreendendo a estrutura de configuração 🏗️ Configuração nginx segue uma hierarquia: contexto principal (configurações globais) ├── Contexto de eventos (manuseio de conexão) └── contexto http (configurações relacionadas à web) └── contexto do servidor (configurações específicas do site) └─ Threl Specific Setent Specific Mode /etc/nginx/nginx.conf: # contexto principal – configurações globais que afetam tudo o usuário nginx; trabalhador_processos automaticamente; # Use todos os núcleos da CPU disponíveis ERROR_LOG /VAR/LOG/nginx/error.log; # Contexto de eventos – como o nginx lida com os eventos de conexões {trabalhador_connections 1024; # Cada trabalhador pode lidar com 1024 conexões} # contexto http – Todas as configurações relacionadas à Web vêm aqui http { # configurações básicas incluem /etc/nginx/mime.types; # Informa ao nginx sobre os tipos de arquivo default_type aplicativo/octeto-stream; # Formato de registro log_format main ‘$ remote_addr – $ remote_user [$time_local] “$ request” ” $ status $ body_bytes_sent “$ http_referer” ‘”$ http_user_agent”‘; access_log /var/log/nginx/access.log main; # Configurações de desempenho SendFile ON; tcp_nopush ligado; Keepalive_timeout 65; # Incluir configurações de servidor incluem /etc/nginx/conf.d/*.conf; } Digite modo de tela cheia de tela de saída FullScreen Modo do seu primeiro site Create /etc/nginx/conf.d/my-first-site.conf: servidor { # Ouça na porta 80 (porta http padrão) Ouça 80; # Seu nome de domínio (use ‘localhost’ para teste) server_name localhost; # Onde os arquivos do seu site são armazenados root/var/www/html; # Arquivo padrão para servir index.html index.htm; # Como lidar com diferentes URLs Location / { # Tente servir o arquivo exato e tente como um diretório, # finalmente retorne 404 se nada encontrar TRY_FILES $ URI $ URI / = 404; } # Páginas de erro personalizado (opcional, mas nice) error_page 404 /404.html; error_page 500 502 503 504 /50x.html; localização = /50x.html {root/usr/share/nginx/html; }} Digite o modo de saída da tela fullcreen, criando o conteúdo do seu site # Crie o diretório do site sudo mkdir -p/var/www/html # crie um simples index.html sudo tee /var/www/html/index.html>/dev/null <
Fonte
Publicar comentário