Instale o Apache no CentOS7

Referência oficial

Website oficial Documentação do Produto HTTPS Gzip

Executar instalação

            yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
        

Modifique o arquivo de configuração

Após a conclusão da instalação, precisamos fazer algumas modificações no arquivo de configuração. O conteúdo de modificação específico geralmente inclui: IP e porta vinculados, transmissão de compressão gzip, número de conexões simultâneas e SSL. Vamos explicá-los um por um abaixo.

Modifique o IP vinculado e a porta

O IP e a porta padrão que o Apache escuta é 0.0.0.0:80. Se precisarmos modificar o IP monitorado e a porta, podemos modificá-lo diretamente. Se precisarmos vincular várias portas, também podemos adicioná-las. No exemplo a seguir, vinculamos as portas 80 e 443. A porta 443 é o número da porta padrão para HTTPS.

            Listen 80
Listen 443 https
        

Transmissão gzip aberta

Como o desempenho da CPU do nosso computador é relativamente alto, normalmente o gargalo aparecerá na largura de banda da rede, portanto, podemos escolher ativar a transmissão de compressão gzip. São 9 níveis de compressão, podemos escolher de acordo com o desempenho do nosso servidor e encontrar o nível mais adequado. No exemplo abaixo, nós o definimos para o nível 1. Os tipos de arquivos compactados são: html, xml, php, css, js, também podemos adicionar tipos de arquivos compactados conforme necessário.

            <IfModule mod_deflate.c>
    DeflateCompressionLevel 1
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
</IfModule>
        

Configurar KeepAlive

A função do KeepAlive é manter o cliente e o servidor conectados por um período de tempo. Quando abrimos uma página da Web, geralmente precisamos carregar o conteúdo principal, js, css e imagens. Como cada recurso precisa iniciar uma solicitação HTTP separada, habilitamos KeepAlive para reduzir o tempo necessário para cada solicitação para estabelecer um link TCP / IP. Mas KeepAlive também tem desvantagens, ele fará com que os recursos IO do servidor sejam ocupados, então precisamos escolher se vamos habilitar KeepAlive de acordo com a situação real. Se KeepAlive estiver ativado, também precisamos definir um tempo limite razoável para evitar que o IO do servidor seja ocupado por um longo tempo. O exemplo a seguir contém várias configurações principais de KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Configure o número de concorrentes

Uma configuração razoável do número de simultâneos pode melhorar muito a taxa de transferência do servidor. Normalmente, nosso Apache funciona no modo mpm_prefork. Precisamos configurar razoavelmente vários parâmetros-chave. O que precisamos prestar atenção é que o número máximo de conexões não deve ser muito pequeno; muito pequeno fará com que um grande número de solicitações do usuário seja rejeitado quando a simultaneidade for alta. O valor razoável que definimos deve referir-se à CPU e memória do servidor.Contanto que os recursos sejam suficientes, devemos defini-lo o maior possível, mas se definirmos muito, os recursos do servidor se esgotarão e o Apache também travará.

            <IfModule mpm_prefork_module>
    StartServers         10
    MinSpareServers      25
    MaxSpareServers      50
    ServerLimit          1500
    MaxClients           1000
    MaxRequestsPerChild  3000
</IfModule>
        

Configurar SSL

A maioria dos sites agora tem SSL habilitado para suportar conexões seguras HTTPS. A vantagem do HTTPS é que o conteúdo durante a transmissão é criptografado, portanto, não há necessidade de se preocupar com vazamento de informações devido à interceptação por terceiros. Antes de ativar o SSL, devemos primeiro solicitar um certificado. Depois de obter o certificado, consulte a seguinte configuração para completar as configurações de SSL.

            <VirtualHost *:443>
    ServerAdmin www.test.com
    ServerName www.testl.com
    DocumentRoot  /var/www/test
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile /etc/httpd/conf/cert/public.crt
    SSLCertificateKeyFile /etc/httpd/conf/cert/1533528967430.key
    SSLCertificateChainFile /etc/httpd/conf/cert/chain.crt
    AllowEncodedSlashes on
    <Directory "/var/www/test.com">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
    </Directory>
</VirtualHost>