Pular para o conteúdo principal

NGinx - passos pra configurar


Olá pessoal, compartilhando mais um post do nosso amigo Fernando Lucio, da Impacta Sistemas


Pra usar o nginx no Windows, pode acessar o site https://nginx.org/ e baixar, o link que está disponível hoje é https://nginx.org/download/nginx-1.27.4.zip

Baixe ele, descompacte e gere no C:\ a pasta nginx

Teremos algo tipo C:\Nginx\Nginx.exe


Se quiser rodar o nginx como serviço, use no cmd C:\NSSM\Win64\nssm.exe install _NGINX_, vai abrir a tela do nssm, informe o patch de nginx.exe e clique em ok, abra o services.msc, ache o serviço e pode colocar pra rodar.


O Nginx é um xarope de configurar, através do arquivo C:\nginx\conf\nginx.conf


Pense no .conf como algo similar a um arquivo ini ou json que não precisa de , após }

Eu vou compartilhar meu arquivo para terem de base, mas vou explicar já umas alterações

1 - alterei o *worker_processes  1;* para *worker_processes  auto;* isso vai fazer com que o nginx possa executar uma instancia por processador, vai atender paralelamente as chamadas remotas

2 - alerei o *worker_connections  1024;* para *worker_connections  4096;* pra permitir muitas conexões simultâneas

3 - na sessão http adicionei *server_names_hash_bucket_size  64; * porque se começar a ficar longos as urls com o subdomínio, isso vai ser otimizado, poderia usar 128

4 - alterei o log_format main, pro log ficar mais completo

5 -  adicionei *keepalive_timeout  15*,porque se o cliente solicitar algo, mas demorar mais que 15 segundos pra confirmar via tcp a conexão, eu derrubo a sessão, isso pra otimizar aquelas conexões que não tem como atender por serem ruim demais

6 - Adicionei *gzip on;* e mais 4 linhas a seguir, imagina retornar um json de 8 mb mas no trafego computador olhe lá 120kb, isso é fundamental pra rodar bem, isso é uma mágina


Agora só adicionar os servers, você pode em uma porta 443 não só servir subdomínios de um mesmo domínio, mas vários e domínios diferentes por padrão use:


server {

listen       443 ssl;

server_name  subdominio.dominio.com.br; 

location / {    limit_req zone=one burst=5;

proxy_pass http://127.0.0.1:8005/; 

proxy_set_header Host $host; 

proxy_set_header X-Real-IP $remote_addr; 

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

proxy_set_header X-Forwarded-Proto $scheme;

#WebSocket

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

proxy_set_header Host $host;

#Cuidado com conexões lentas

proxy_connect_timeout 60s;

proxy_send_timeout 60s;

proxy_read_timeout 60s;

}


ssl_certificate      C://Certificados//subdominio.dominio.com.br-chain.pem;

ssl_certificate_key  C://Certificados//subdominio.dominio.com.br-key.pem;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';

                ssl_prefer_server_ciphers on;

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

#Adicionado para Performance

expires 1d;

add_header Cache-Control "public, no-transform";

add_header X-Content-Type-Options "nosniff";

add_header X-Frame-Options "SAMEORIGIN";

add_header X-XSS-Protection "1; mode=block";

}


Pra ter outros domínios, só ir adicionando mais seções server{}


Cada sessão *server{}* é um domínio que pode atender

Comentários

Postagens mais visitadas deste blog

Curso Fast Report - Aula 07 - Impressão de Etiquetas

Olá pessoal, bem vindos a mais uma aula de Fast Report. Desta vez iremos falar sobre impressão de etiquetas.  Primeiro iremos preparar nosso ambiente de dados. Geralmente eu uso uma tabela temporária (em memória ou ClientDataSet - qual você estiver acostumado a usar), pra poder preencher os dados das etiquetas, com uma estrutura simples: Texto1 - String - 100 Texto2 - String - 100 Texto3 - String - 100 Texto4 - String - 100 Texto5 - String - 100 Dessa forma, eu pego os dados de qualquer tabela e vou inserindo nessa tabela temporária. Assim eu consigo, por exemplo, imprimir várias cópias da mesma etiqueta, como por exemplo, quando é necessário etiquetar produtos, e existem várias peças de um mesmo produto. Veja um exemplo de produtos/estoque: Primeiro eu percorro a tabela, e vou inserindo um registro pra cada item. Se o item possui estoque maior que um 1 (por exemplo, estoque = 10), eu insiro 10 registros do mesmo item. Veja o código abaixo: procedure ... var i...

ACBR - Corrigir Erro Interno: 12175/12030/12029/12031

Erro Interno: 12175/12030/12029/12031 Atualização do Windows - Habilitar o TSL 1.2 ✔1.0) Instalar o Service Pack 1 (SP1) - Baixar em  https://www.microsoft.com/pt-BR/download/details.aspx?id=5842 ✔1.1) Responsável por atualização dos protocolos de SSL - Instalar KB2992611, https://www.catalog.update.microsoft.com/Search.aspx?q=2992611 ✔1.2) Responsável por HABILITAR o protocolo TLS 1.1 e 1.2. Instalar KB3140245  https://www.catalog.update.microsoft.com/search.aspx?q=kb3140245 ✔1.3) ou Baixar todas as atualizações disponíveis. Configuração do Protocolo no Internet Explorer Marque as opções Opções de Internet (no IE, menu Ferramentas, Opções de Internet) ✔ Não salvar páginas criptografadas em disco;  ✔ Usar SSL 3.0;   ✔ Usar TLS 1.0;   ✔ Usar TLS 1.2;  Desmarque as opções caso tenha ou estejam marcadas: ❌ Usar SSL 2.0;  ❌ Usar TLS 1.1; #Atualizações das Cadeias de Certificado ✔ https://www.gov.br/iti/pt-br/assuntos/navegadores Certificados por ...

Curso Fast Report - Aula 03 - Agrupamento de Dados e Totalizadores

Olá pessoal, estamos aqui mais uma vez com nosso curso de Fast Report. Hoje iremos ver como fazer o agrupamento dos dados, e fazer totalizadores, tanto por grupo como um totalizador geral. Vamos lá. Adicione uma nova query e outro frxDBDataSet ao form, e configure-os assim: Query Name : sqlReceber SQL : SELECT nome, numero, vencimento, valor, historico FROM receber ORDER BY vencimento frxDBDataSet Name : frxSqlReceber (nome usado pra referencias no Delphi) UserName : frxSqlReceber (nome usado pra referencias no FastReport) DataSet : sqlReceber Dê dois cliques no frxReport pra abrir o designer. Clique no botão Novo, vá ao menu Relatório, opção Dados e marque o frxSqlReceber. 2 cliques no MasterData e selecionar a fonte dos dados novamente. Remova a banda PageTitle e adicione a banda PageHeader . Adicione a banda GroupHeader e informe o field que será usado como agrupador. As opções dessa tela são: Manter grupo unido : não separa o cabeçal...