O Criador | Igor Sysoev e Maxim Konovalov ( d ) |
---|---|
Desenvolvido por | NGINX, Inc. ( en ) e Igor Sysoev |
Primeira versão | 4 de outubro de 2004 |
Última versão | 1.21.0 (25 de maio de 2021) |
Versão avançada |
1.19.1 (7 de julho de 2020) 1.19.2 (11 de agosto de 2020) 1.19.0 (26 de maio de 2020) 1.19.3 (29 de setembro de 2020) 1.19.4 (28 de outubro de 2020) 1.19.5 (24 de novembro de 2020) 1.19.6 (15 de dezembro de 2020) 1,19,7 (16 de fevereiro de 2021) 1,19,8 (9 de março de 2021) 1,19,9 (30 de março de 2021) |
Depósito | hg.nginx.org/nginx e github.com/nginx/nginx |
Escrito em | VS |
Sistema operacional | Digite Unix e Microsoft Windows |
Formatos de leitura | Certificado codificado PEM ( d ) , chave privada RSA codificada PEM ( d ) e sites Nginx disponíveis ( d ) |
Modelo |
Agente de servidor web |
Política de distribuição | software grátis |
Licença | BSD 2 cláusulas ( d ) |
Local na rede Internet | nginx.org |
NGINX open source ou NGINX (pronuncia-se [ˌɛndʒɪnɛks] e também escrito Nginx ou nginx ) é um software livre para servidor da Web (ou HTTP ) e um proxy reverso escrito por Igor Sysoev , cujo desenvolvimento começou em 2002 para fins de 'um site russo com muito tráfego ( Rambler ). A documentação está disponível em vários idiomas. Tem sido desdeabril de 2019, o servidor web mais usado no mundo pela Netcraft , ou o segundo servidor mais usado pela W3techs.
NGINX Inc foi adquirida pela F5 Networks em11 de março de 2019, por $ 670 milhões.
Suas fontes estão disponíveis sob uma licença do tipo BSD .
NGINX é um sistema assíncrono em oposição a servidores síncronos, onde cada solicitação é tratada por um processo dedicado. Em vez de explorar uma arquitetura paralela e multiplexação por divisão de tempo de tarefas pelo sistema operacional, o NGINX usa mudanças de estado para gerenciar várias conexões ao mesmo tempo; o processamento de cada solicitação é dividido em várias mini-tarefas e, assim, é possível obter uma multiplexação eficiente entre as conexões. Para aproveitar as vantagens dos computadores com multiprocessadores, vários processos podem ser iniciados. Essa escolha de arquitetura leva a um desempenho muito alto, bem como a uma carga e consumo de memória muito mais baixos do que os servidores HTTP convencionais, como o Apache .
NGINX é muito modular: um kernel mínimo e muitos módulos, complementando as funções básicas. Cada módulo pode atuar como um filtro na entrada, saída ou conteúdo intermediário (proxy) por meio de vários callbacks . Assim, a título de exemplo, o conteúdo dinâmico pode ser compactado em tempo real pelo módulo “ gzip ” antes do envio.
Esses módulos são vinculados ao servidor durante a compilação. NGINX não oferece suporte a bibliotecas dinâmicas compartilhadas. A Tengine , a bifurcação NGINX do Taobao, adicionou esse recurso, que não foi transportado para a NGINX.
O kernel depende de estruturas de dados mínimas, mas ideais, destinadas a reduzir o número de chamadas do sistema, especialmente para tudo o que tem a ver com alocação de memória. Diferentes mecanismos de sinalização podem ser usados para obter o máximo do sistema operacional (por exemplo: epoll no Linux e kqueue no BSD ). A arquitetura assíncrona alivia o escalonador do sistema operacional e promove o uso de caches ou processador (es).
Um processo mestre controla o processo ou processos do servidor. Isso permite alterações de configuração ou atualização do arquivo executável do servidor sem interromper o serviço HTTP.
NGINX é executado em sistemas operacionais GNU / Linux , BSD , Mac OS X e Solaris ; A partir da versão avançada 0.7.52, o NGINX também está disponível para Microsoft Windows .
Além de ser um servidor HTTP, o NGINX pode ser configurado para ser um proxy reverso (em inglês : proxy reverso ) Web e servidor proxy de e-mail ( IMAP / POP3 ). O uso mais frequente do NGINX é configurá-lo como um servidor da web clássico para servir arquivos estáticos e como um proxy para solicitações dinâmicas normalmente roteadas usando uma interface FastCGI para um ou mais servidores de aplicativos com um mecanismo de balanceamento de carga .
O NGINX também é capaz de transmitir, no mesmo princípio que lighttpd com mod_flv_streaming , conteúdo de vídeo no modo de streaming ( streaming) para um Flash player sem ter que recorrer ao Flash Media Server. Para isso, possui um http_glv_module opcional para streaming de arquivo de vídeo flv e vários módulos de streaming que podem transmitir vídeo codificado em H.264 . Ele também permite que você transmita em mp4 graças ao seu módulo opcional http_mp4_module .
Ele também é amplamente utilizado na produção para atender a aplicativos Ruby on Rails, graças ao módulo Phusion Passenger . A maioria dos sites Ruby on Rails com alto tráfego usa NGINX (por exemplo, basecamp ou LinuxFr.org ).
O NGINX era pouco conhecido, exceto na Rússia , antes de Aleksandar Lazic iniciar a tradução para o inglês em 2006.