Installer Apache på CentOS7

Offisiell referanse

Offesiell nettside Produktdokumentasjon HTTPS Gzip

Utfør installasjonen

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

Endre konfigurasjonsfilen

Etter at installasjonen er fullført, må vi gjøre noen endringer i konfigurasjonsfilen. Det spesifikke modifikasjonsinnholdet inkluderer vanligvis: bundet IP og port, gzip-komprimeringsoverføring, antall samtidige tilkoblinger og SSL. La oss forklare dem en etter en nedenfor.

Endre bundet IP og port

Standard IP og port som Apache lytter til er 0.0.0.0:80. Hvis vi trenger å endre den overvåkede IP-en og porten, kan vi endre den direkte. Hvis vi trenger å binde flere porter, kan vi også legge dem til. I det følgende eksemplet binder vi port 80 og 443. Port 443 er standard portnummer for HTTPS.

            Listen 80
Listen 443 https
        

Åpne gzip-overføring

Fordi datamaskinens CPU-ytelse er relativt høy, vil flaskehalsen vanligvis vises i nettverkets båndbredde, slik at vi kan velge å slå på gzip-komprimeringsoverføring. Det er ni nivåer av komprimering. Vi kan velge i henhold til ytelsen til serveren vår og finne det mest passende nivået. I eksemplet nedenfor setter vi det til nivå 1. De komprimerte filtypene er: html, xml, php, css, js, vi kan også legge til komprimerte filtyper etter 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>
        

Sett opp KeepAlive

Funksjonen til KeepAlive er å holde klienten og serveren tilkoblet i en periode. Når vi åpner en webside, trenger vi vanligvis å laste inn hovedinnholdet, js, css og bilder. Siden hver ressurs må starte en egen HTTP-forespørsel, aktiverer vi KeepAlive for å redusere tiden det tar for hver forespørsel å opprette en TCP / IP-kobling. Men KeepAlive har også ulemper, det vil føre til at serverens IO-ressurser blir okkupert, så vi må velge om vi vil aktivere KeepAlive i henhold til den faktiske situasjonen. Hvis KeepAlive er aktivert, må vi også sette en rimelig tidsavbrudd for å unngå at server IO er okkupert i lang tid. Følgende eksempel inneholder flere hovedinnstillinger for KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigurer antall samtidige

En rimelig konfigurasjon av antall samtidige kan forbedre serverens gjennomstrømning. Vanligvis fungerer Apache i mpm_prefork-modus. Vi må med rimelighet konfigurere flere viktige parametere. Det vi må være oppmerksom på er at maksimalt antall tilkoblinger ikke skal være for lite, for lite vil føre til at et stort antall brukerforespørsler blir avvist når samtidigheten er høy. Den rimelige verdien vi setter, skal referere til serverens CPU og minne. Så lenge ressursene er tilstrekkelige, bør vi sette den så stor som mulig, men hvis vi setter den for stor, vil serverressursene være oppbrukt og Apache vil også krasje.

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

Konfigurer SSL

De fleste nettsteder har nå SSL aktivert for å støtte HTTPS sikre tilkoblinger. Fordelen med HTTPS er at innholdet under overføring er kryptert, så det er ikke nødvendig å bekymre seg for informasjonslekkasje på grunn av avlytting fra andre. Før vi aktiverer SSL, må vi først søke om et sertifikat. Etter at vi har mottatt sertifikatet, se følgende konfigurasjon for å fullføre SSL-innstillingene.

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