Installeer Apache op CentOS7

Amptelike verwysing

Amptelike webwerf Produkdokumentasie HTTPS Gzip

Voer die installasie uit

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

Verander die konfigurasielêer

Nadat die installasie voltooi is, moet ons die konfigurasielêer aanpas. Die spesifieke wysigingsinhoud bevat gewoonlik: gebonde IP en poort, transmissie van gzip-kompressie, aantal gelyktydige verbindings en SSL. Kom ons verduidelik dit een vir een hieronder.

Verander die gebonde IP en poort

Die standaard IP en poort waarna Apache luister, is 0.0.0.0:80. As ons die gemonitor IP en poort moet verander, kan ons dit direk verander. As ons verskeie poorte moet bind, kan ons dit ook byvoeg. In die volgende voorbeeld bind ons poorte 80 en 443. Poort 443 is die standaard poortnommer vir HTTPS.

            Listen 80
Listen 443 https
        

Maak gzip-oordrag oop

Omdat die rekenaar se verwerkingsvermoë relatief hoog op ons rekenaar is, sal die bottelnek gewoonlik in die netwerkbandwydte verskyn, sodat ons kan kies om gzip-kompressie-oordrag aan te skakel. Daar is 9 vlakke van kompressie: ons kan kies volgens die prestasie van ons bediener en die geskikste vlak vind. In die onderstaande voorbeeld stel ons dit op vlak 1. Die saamgeperste lêertipes is: html, xml, php, css, js, ons kan ook saamgeperste lêertipes byvoeg soos nodig.

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

Stel KeepAlive op

Die funksie van KeepAlive is om die kliënt en bediener vir 'n tydperk verbind te hou. Wanneer ons 'n webblad oopmaak, moet ons meestal die hoofinhoud, js, css en foto's laai. Aangesien elke bron 'n aparte HTTP-versoek moet inisieer, stel ons KeepAlive in staat om die tyd wat nodig is vir elke versoek om 'n TCP / IP-skakel te bewerkstellig, te verminder. Maar KeepAlive het ook nadele: dit sal veroorsaak dat die bediener se IO-bronne beset is, daarom moet ons kies of KeepAlive in staat gestel word volgens die werklike situasie. As KeepAlive geaktiveer is, moet ons ook 'n redelike time-out daarvoor instel om te verhoed dat bediener IO lank besig is. Die volgende voorbeeld bevat verskeie hoofinstellings van KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Stel die aantal gelyktydige op

'N Redelike opstelling van die aantal gelyktydige kan die deurvoer van die bediener aansienlik verbeter. Ons Apache werk gewoonlik in die modus mpm_prefork. Ons moet verskeie sleutelparameters redelikerwys instel. Waaraan ons moet let, is dat die maksimum aantal verbindings nie te klein mag wees nie, te klein sal veroorsaak dat 'n groot aantal gebruikersversoeke van die hand gewys word as die gelyktydigheid hoog is. Die redelike waarde wat ons stel, moet na die bediener se SVE en geheue verwys. Solank die bronne voldoende is, moet ons dit so groot as moontlik stel, maar as ons dit te groot stel, sal die bedienerhulpbronne uitgeput wees en sal Apache ook crash.

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

Stel SSL in

Die meeste webwerwe het nou SSL geaktiveer om HTTPS veilige verbindings te ondersteun. Die voordeel van HTTPS is dat die inhoud tydens versending geënkripteer is, en u hoef dus nie bekommerd te wees oor inligtinglekkasie as gevolg van onderskep deur ander nie. Voordat SSL geaktiveer word, moet ons eers 'n sertifikaat aanvra. Nadat ons die sertifikaat ontvang het, verwys u na die volgende konfigurasie om die SSL-instellings te voltooi.

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