Configuração do arquivo Nginx

Índice

Configuração do arquivo Nginx

1. nginx.conf

1. Ajuste de processo

2. configuração http

3. Estratégia de balanceamento de carga upstream

4. Servidor

5. Localização

  • nginx.conf

1. Ajuste de processo

trabalhador_processes, número de processos de trabalho

1.Padrão: processos_trabalhadores: 1

2. Aumento: work_processes: número de núcleos de CPU (dual core 4 threads, pode ser definido como 4)

work_connections, o número de conexões externas que um único processo de trabalho pode permitir que sejam estabelecidas ao mesmo tempo, está significativamente relacionado a dois indicadores, um é a memória e o outro é o "número máximo de arquivos que um processo pode abrir" em o nível do sistema operacional.

Quanto maior o número, mais conexões podem ser tratadas simultaneamente

1.Padrão: conexões_de_trabalho: 1024

2. Ajuste: work_connections: 65535

trabalhador_rlimit_nofile #Configura o número máximo de arquivos abertos no processo de trabalho Nginx

  1. configuração http

include mime.types; #Digite o arquivo import/usr/local/nginx/conf/mime.types.

default_type text/html; #Quando o navegador de tipo padrão obtém esse tipo de arquivo, ele chamará automaticamente o analisador html para processar o arquivo de acordo.

log_format #Define o formato de log para abrir o caminho de armazenamento de log /usr/local/nginx/logs

server_tokens off; #Ocultar número da versão

sendfile on; #O modo eficiente de transferência de arquivos é enviado diretamente do kernel sem passar pelo cliente.

#tcp_nopush on; #No modo sendfile, seja para habilitar a opção TCP_CORK, um arquivo é enviado uma mensagem, e o cabeçalho da camada de aplicação só precisa de um arquivo uma vez, em vez de separadamente.

keepalive_timeout #Especifique por quanto tempo cada conexão TCP pode ser mantida no máximo.

gzip ativado; Ativa a compactação gzip. Geralmente, o conteúdo da solicitação de texto retornado ao usuário é compactado para economizar largura de banda.

client_max_body_size #Defina o serviço nginx para permitir que os usuários carreguem o tamanho máximo de dados

client_header_buffer_size 8k; # O tamanho padrão da linha de solicitação + cabeçalho da solicitação é 8k

large_client_header_buffers 4 8k; # O tamanho máximo da linha de solicitação + cabeçalho da solicitação é 32k

  1. estratégia de balanceamento de carga upstream

O balanceamento de carga é usado para selecionar um servidor da lista de servidores backend definida pelo módulo "upstream" para aceitar solicitações do usuário.

1. Votação

  O método de configuração mais básico, é a estratégia de balanceamento de carga padrão do módulo upstream. Cada solicitação é distribuída para um servidor back-end diferente, um por um, em ordem cronológica.

Existem os seguintes parâmetros:

fail_timeout é usado em conjunto com max_fails. max_fails define o número máximo de falhas dentro do tempo definido pelo parâmetro fail_timeout. Se todas as solicitações ao servidor falharem dentro desse período, o servidor será considerado inativo. O servidor fail_time será considerado inativo pelo período de tempo . Padrão para 10s. backup marca o servidor como um servidor de backup. Quando o servidor principal está parado, solicitações são enviadas a ele. down marca o servidor como permanentemente inativo.

  Perceber:

  1. Durante a votação, se o servidor ficar inativo, o servidor será removido automaticamente.
  2. A configuração padrão é a estratégia de pesquisa.
  3. Esta estratégia é adequada para serviços que possuem uma configuração de servidor relativamente estável, são stateless, curtos e rápidos.

2、peso

  O método ponderado especifica a probabilidade de votação com base na estratégia de votação. O parâmetro peso é usado para especificar a probabilidade de votação. O valor padrão do peso é 1. O valor do peso é proporcional à taxa de acesso. Por exemplo, se um dos servidores tiver peso=2, a probabilidade do serviço ser acessado é o dobro dos demais servidores.

  Perceber:

  1. Quanto maior o peso, mais solicitações precisam ser processadas.
  2. Esta estratégia pode ser usada em conjunto com less_conn e ip_hash.
  3. Esta estratégia é mais adequada para situações em que as configurações de hardware do servidor são bastante diferentes.

3.ip_hash

Especifique o balanceador de carga a ser distribuído com base no IP do cliente. Este método garante que as solicitações do mesmo cliente sejam sempre enviadas para o mesmo servidor para garantir sessões de sessão. Desta forma, cada visitante tem acesso fixo a um servidor back-end, o que pode resolver o problema de a sessão não poder cruzar servidores.

Perceber:

  1. Antes da versão 1.3.1 do nginx, o peso não podia ser usado em ip_hash.
  2. ip_hash não pode ser usado junto com backup.
  3. Esta estratégia é adequada para serviços com estado, como sessões.
  4. Quando um servidor precisa ser removido, ele deve ser desativado manualmente.

4、mínimo_conn

Encaminhe a solicitação para o servidor backend com menos conexões. O algoritmo de sondagem encaminha solicitações para cada back-end uniformemente para que suas cargas sejam aproximadamente as mesmas; no entanto, algumas solicitações demoram muito, o que fará com que o back-end onde estão localizadas tenha uma carga maior. Nesse caso, less_conn pode obter um melhor efeito de balanceamento de carga.

 Perceber:

  1. Essa estratégia de balanceamento de carga é adequada para situações em que tempos variáveis ​​de processamento de solicitações causam sobrecarga do servidor.
  1. Servidor

/data/app/nginx/conf/sites/extra/www.conf

ouça 443 ssl #Ouça a porta 443

Protocolo SSL, que tem sido amplamente utilizado para autenticação e transmissão de dados criptografados entre navegadores e servidores da web .

server_name test.whispark.com; O nome de domínio do serviço

Nome de domínio de primeiro nível: Whisper.com

Nome de domínio de segundo nível: www.whispark.com

Nome de domínio de terceiro nível: image2.whispark.com

Um nome de domínio corresponde a um endereço IP e um endereço IP pode ser vinculado a vários nomes de domínio.

Você só precisa comprar um nome de domínio de primeiro nível e pode definir os nomes de domínio subsequentes de segundo e terceiro níveis à vontade.

access_log /usr/local/nginx/logs/front/wpwww.access.log main; O caminho de armazenamento do log de serviço

  1. Localização

1.O papel da localização

    A função da diretiva location é executar diferentes aplicações de acordo com o URI solicitado pelo usuário, ou seja, corresponder à URL do site solicitada pelo usuário. Se a correspondência for bem-sucedida, serão realizadas operações relevantes.

  1. sintaxe de localização

| Diretiva | | ID da correspondência | | URL do site correspondente | | Segmento de configuração a ser executado após a correspondência do URI |

localização  [ = | ~ | ~* | ^~ ]    uri     { .... }         

ID da correspondência

=: Correspondência exata para URI

~ : correspondência de padrão de expressão regular para URI, caracteres que diferenciam maiúsculas de minúsculas;

~* : correspondência de padrão de expressão regular para URI, sem distinção entre maiúsculas e minúsculas;

^~ : verifica a correspondência na metade esquerda do URI e os caracteres não diferenciam maiúsculas de minúsculas;

Sem símbolos: corresponda a todos os URLs começando neste uri;

Prioridade de correspondência: = , ^~ , ~/~*, sem sinal;

/data/app/nginx/conf/sites/extra/www.conf

proxy_pass   encaminhamento de proxy, se você adicionar / ao URL após proxy_pass, significa o caminho raiz absoluto; se não houver /, significa um caminho relativo, e a parte do caminho correspondente também é fornecida ao proxy.

proxy_cookie_path é usado para alterar o caminho dos cookies

proxy_redirect off Desativa o redirecionamento

proxy_set_header

1、X-Real-IP

Refere-se ao IP real do cliente. Se o valor de $remote_addr for definido, o servidor backend pode obter o IP real do cliente.

2. Anfitrião

Não há campo HOST no cabeçalho da solicitação enviada pelo cliente. $host representa o endereço do servidor proxy nginx.

3、X-Forwarded-For

Os valores desta variável incluem $proxy_add_x_forwarded_for e $remote_addr.Quando há apenas um encaminhamento de servidor proxy, o efeito dos dois parece ser semelhante, e ambos podem realmente exibir o IP original do cliente.

  1. Atualizar $http_upgrade; "Atualização" de conexão;

Atualize Http para WebSocket por meio do mecanismo de atualização Http. O servidor proxy Nginx resolve o problema de que o WebSocket pertence ao protocolo hop-by-hop modificando a configuração e implementa o proxy WebSocket mantendo as conexões com o cliente e o servidor abertas.

O nginx tem duas maneiras de especificar o caminho do arquivo:root e alias.O uso e o escopo da diretiva:

A principal diferença entre root e alias é como o nginx interpreta o uri após a localização, o que faz com que os dois mapeiem solicitações para arquivos do servidor de maneiras diferentes.

O resultado do processamento de root é: caminho raiz + caminho de localização

O resultado do processamento do alias é: substitua o caminho do local pelo caminho do alias

alias é a definição de um alias de diretório e root é a definição do diretório de nível superior.

Outra diferença importante é que o alias deve terminar com “/”, caso contrário o arquivo não será encontrado.

página_erro

Quando esses códigos de status aparecerem na solicitação de acesso, será retornado o conteúdo em 50x-pc.htm, desta forma, quando o acesso do usuário gerar 502 e 503, o status de retorno ao usuário será 200 e o conteúdo será 50x.html.

Acho que você gosta

Origin blog.csdn.net/q_syh/article/details/131517009
Recomendado
Clasificación