Installer Apache på CentOS7

Officiel reference

Officiel hjemmeside Produktdokumentation HTTPS Gzip

Udfør installationen

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

Rediger konfigurationsfilen

Når installationen er afsluttet, skal vi foretage nogle ændringer i konfigurationsfilen. Det specifikke modifikationsindhold inkluderer normalt: bundet IP og port, gzip-kompressionstransmission, antal samtidige forbindelser og SSL. Lad os forklare dem en efter en nedenfor.

Rediger den bundne IP og port

Standard IP og port, som Apache lytter til, er 0.0.0.0:80. Hvis vi har brug for at ændre den overvågede IP og port, kan vi ændre den direkte. Hvis vi har brug for at binde flere porte, kan vi også tilføje dem. I det følgende eksempel binder vi port 80 og 443. Port 443 er standardportnummeret for HTTPS.

            Listen 80
Listen 443 https
        

Åbn gzip transmission

Da vores computers CPU-ydeevne er relativt høj, vises flaskehalsen normalt i netværksbåndbredden, så vi kan vælge at aktivere gzip-kompressionstransmission. Der er 9 komprimeringsniveauer. Vi kan vælge alt efter vores servers ydeevne og finde det mest passende niveau. I eksemplet nedenfor indstiller vi det til niveau 1. De komprimerede filtyper er: html, xml, php, css, js, vi kan også tilføje komprimerede filtyper efter behov.

            <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>
        

Opsæt KeepAlive

KeepAlives funktion er at holde klienten og serveren forbundet i en periode. Når vi åbner en webside, er vi normalt nødt til at indlæse hovedindholdet, js, css og billeder. Da hver ressource skal starte en separat HTTP-anmodning, aktiverer vi KeepAlive for at reducere den tid, der kræves for hver anmodning om at oprette et TCP / IP-link. Men KeepAlive har også ulemper. Det vil medføre, at serverens IO-ressourcer bliver besat, så vi skal vælge, om KeepAlive skal aktiveres i henhold til den aktuelle situation. Hvis KeepAlive er aktiveret, skal vi også indstille en rimelig timeout for den for at undgå, at server IO er optaget i lang tid. Følgende eksempel indeholder flere hovedindstillinger for KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigurer antallet af samtidige

En rimelig konfiguration af antallet af samtidige kan i høj grad forbedre serverens kapacitet. Normalt fungerer vores Apache i mpm_prefork-tilstand. Vi skal med rimelighed konfigurere flere nøgleparametre. Hvad vi skal være opmærksomme på er, at det maksimale antal forbindelser ikke skal være for lille, for lille vil medføre, at et stort antal brugeranmodninger afvises, når samtidigheden er høj. Den rimelige værdi, vi indstiller, skal henvise til serverens CPU og hukommelse. Så længe ressourcerne er tilstrækkelige, skal vi indstille den så stor som muligt, men hvis vi indstiller den for stor, vil serverressourcerne være opbrugt, og Apache vil også gå ned.

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

Konfigurer SSL

De fleste websteder har nu SSL aktiveret til at understøtte sikre HTTPS-forbindelser. Fordelen ved HTTPS er, at indholdet under transmission er krypteret, så der er ingen grund til at bekymre sig om informationslækage på grund af andre aflytning. Før vi aktiverer SSL, skal vi først ansøge om et certifikat. Når vi har fået certifikatet, henvises til følgende konfiguration for at fuldføre SSL-indstillingerne.

            <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>