Installera Apache på CentOS7

Officiell referens

Officiell hemsida Produktdokumentation HTTPS Gzip

Utför installationen

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

Ändra konfigurationsfilen

När installationen är klar måste vi göra några ändringar i konfigurationsfilen. Det specifika modifieringsinnehållet innehåller vanligtvis: bunden IP och port, gzip-komprimeringsöverföring, antal samtidiga anslutningar och SSL. Låt oss förklara dem en efter en nedan.

Ändra den bundna IP: n och porten

Standard-IP och port som Apache lyssnar på är 0.0.0.0:80. Om vi ​​behöver ändra den övervakade IP: n och porten kan vi ändra den direkt. Om vi ​​behöver binda flera portar kan vi också lägga till dem. I följande exempel binder vi portar 80 och 443. Port 443 är standardportnummer för HTTPS.

            Listen 80
Listen 443 https
        

Öppna gzip-överföring

Eftersom datorns CPU-prestanda är relativt hög, visas vanligtvis flaskhalsen i nätverksbandbredden, så vi kan välja att aktivera gzip-komprimeringsöverföring. Det finns 9 komprimeringsnivåer. Vi kan välja beroende på vår servers prestanda och hitta den lämpligaste nivån. I exemplet nedan ställer vi in ​​det på nivå 1. De komprimerade filtyperna är: html, xml, php, css, js, vi kan också lägga till komprimerade 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>
        

Ställ in KeepAlive

KeepAlives funktion är att hålla klienten och servern ansluten under en tidsperiod. När vi öppnar en webbsida behöver vi vanligtvis ladda huvudinnehållet, js, css och bilder. Eftersom varje resurs måste initiera en separat HTTP-begäran, aktiverar vi KeepAlive för att minska den tid som krävs för varje begäran att skapa en TCP / IP-länk. Men KeepAlive har också nackdelar, det kommer att leda till att serverns IO-resurser är upptagen, så vi måste välja om KeepAlive ska aktiveras enligt den faktiska situationen. Om KeepAlive är aktiverat måste vi också ställa in en rimlig tidsgräns för att undvika att server IO är upptagen under lång tid. Följande exempel innehåller flera huvudinställningar för KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigurera antalet samtidiga

En rimlig konfiguration av antalet samtidiga kan avsevärt förbättra serverns genomströmning. Vanligtvis fungerar vår Apache i mpm_prefork-läge. Vi måste rimligen konfigurera flera viktiga parametrar. Vad vi måste vara uppmärksamma på är att det maximala antalet anslutningar inte ska vara för litet, för litet kommer att leda till att ett stort antal användarförfrågningar avvisas när samtidigheten är hög. Det rimliga värdet som vi ställer in ska hänvisa till serverns CPU och minne. Så länge resurserna är tillräckliga bör vi ställa in den så stor som möjligt, men om vi ställer in den för stor kommer serverresurserna att vara uttömda och Apache kommer också att krascha.

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

Konfigurera SSL

De flesta webbplatser har nu SSL aktiverat för att stödja säkra HTTPS-anslutningar. Fördelen med HTTPS är att innehållet under överföringen är krypterat, så det finns ingen anledning att oroa sig för informationsläckage på grund av andra avlyssning. Innan du aktiverar SSL måste vi först ansöka om ett certifikat. När vi har fått certifikatet, se följande konfiguration för att slutföra SSL-inställningarna.

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