Zusammenfassung der Ressource
NGINX
Anmerkungen:
- https://w3techs.com/technologies/history_overview/web_server
http://nginx.org/
https://www.nginx.com/
- /etc/nginx/
- /etc/nginx/nginx.conf
- http {}
- log_format
- server {}
Anmerkungen:
- 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 {
}
}
- location{}
Anmerkungen:
- {
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;
}
- index
Anmerkungen:
- configure the names of valid index falies
- /usr/sbin/nginx
- # nginx -s stopt| reload| quit | reopen|
- #nginx -t
Anmerkungen:
- Verifica a sintaxe no arquivo de configuração
- # nginx -s reload
Anmerkungen:
- Recarrega as configurações
- /var/log/nginx/access.log
Anmerkungen:
- /var/log/nginx/access.log
- Principais recursos
- Servidor Web
- Proxy reverso
Anmerkungen:
- 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.
- proxy_set_header
Anmerkungen:
- : Adiciona e faz alterações no cabeçalho dos requests antes de
encaminhá-los ao destino
- proxy_pass
Anmerkungen:
- Determina o IP/Porta para o qual o request será encaminhado
- Exemplo de configuração:
Anmerkungen:
- 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;
}
- Conceito
Anmerkungen:
- 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.
- Protocolos suportados: http, https,SMTP, POP3, IMAP
- Balanceador de carga
- event-based web server
Anmerkungen:
- event-based web server:
utiliza um processo-mestre e um – ou poucos – processos operários disparados sob demanda
- Principais características
- Velocidade
Anmerkungen:
- 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;
- Configuração flexível
Anmerkungen:
- Seu arquivo de configuração é muito mais simples de ser entendido, pois usa o conceito de blocos hierárquicos e documentação API detalhada;
- Streaming
Anmerkungen:
- Nginx possui suporte nativo para streaming de conteúdo FLV e MP4, sem necessidade de módulos adicionais.
- Instalação de módulos
Anmerkungen:
- 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.
- Configuração de hosts virtuais
Anmerkungen:
- 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.
- FastCGI para PHP
Anmerkungen:
- O FastCGI é um protocolo que faz uma interface entre o servidor web e programas ou scripts em
PHP, C, Perl e etc
- PHP
Anmerkungen:
- 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.
- php-fpm
- roda na porta
9000 ou através
de um socket
- Configurações utilizadas
- fastcgi_pass
Anmerkungen:
- Indica o IP/Porta ou Socket para o qual os requests PHP serão encaminhados
- fastcgi_param
Anmerkungen:
- Determina parâmetros que serão enviados ao PHP
- Exemplo de configuração:
Anmerkungen:
- 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;
}
- Principais configurações
Anmerkungen:
- 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
{ }.
- /var/log/nginx/error.log