Namestite Apache na CentOS7

Uradna referenca

Uradna spletna stran Dokumentacija izdelka HTTPS Gzip

Izvedite namestitev

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

Spremenite konfiguracijsko datoteko

Po končani namestitvi moramo nekaj spremeniti v konfiguracijsko datoteko. Vsebina posebne modifikacije običajno vključuje: vezani IP in vrata, prenos stiskanja gzip, število sočasnih povezav in SSL. Razložimo jih eno za drugo spodaj.

Spremenite vezani IP in vrata

Privzeti IP in vrata, ki jih Apache posluša, so 0.0.0.0:80. Če moramo spremeniti nadzorovani IP in vrata, ga lahko spremenimo neposredno. Če moramo vezati več vrat, jih lahko tudi dodamo. V naslednjem primeru smo povezali vrata 80 in 443. Vrata 443 so privzeta številka vrat za HTTPS.

            Listen 80
Listen 443 https
        

Odprti prenos gzip

Ker je zmogljivost procesorja našega računalnika razmeroma visoka, se običajno ozko grlo pojavi v pasovni širini omrežja, zato se lahko odločimo za vklop gzip stiskanja. Obstaja 9 stopenj stiskanja. Izberemo lahko glede na delovanje našega strežnika in najdemo najprimernejšo raven. V spodnjem primeru smo ga postavili na raven 1. Stisnjene vrste datotek so: html, xml, php, css, js, po potrebi lahko dodamo tudi stisnjene vrste datotek.

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

Nastavite KeepAlive

Funkcija KeepAlive je ohraniti povezavo med odjemalcem in strežnikom. Ko odpremo spletno stran, moramo običajno naložiti glavno vsebino, js, css in slike. Ker mora vsak vir sprožiti ločeno zahtevo HTTP, omogočimo KeepAlive, da skrajšamo čas, potreben za vzpostavitev povezave TCP / IP za vsako zahtevo. Toda KeepAlive ima tudi pomanjkljivosti: povzročil bo, da bodo strežniški viri IO zasedeni, zato se moramo odločiti, ali omogočiti KeepAlive glede na dejansko situacijo. Če je KeepAlive omogočen, moramo zanj določiti tudi razumno časovno omejitev, da preprečimo dolgotrajno zasedenost IO strežnika. Naslednji primer vsebuje več glavnih nastavitev aplikacije KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigurirajte število sočasnih

Primerna konfiguracija števila sočasnih komponent lahko močno izboljša prepustnost strežnika. Običajno naš Apache deluje v načinu mpm_prefork. Razumno moramo konfigurirati več ključnih parametrov. Na kar moramo biti pozorni, je, da največje število povezav ne sme biti premajhno, saj bo premajhno, da bo veliko število zahtev uporabnikov zavrnjeno, če bo sočasnost visoka. Razumna vrednost, ki jo nastavimo, naj se nanaša na CPU in pomnilnik strežnika. Dokler je virov dovolj, bi ga morali nastaviti čim večjega, če pa ga nastavimo prevelikega, bodo strežniški viri izčrpani in tudi Apache se bo zrušil.

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

Konfigurirajte SSL

Večina spletnih mest ima zdaj omogočen SSL za podporo varnim povezavam HTTPS. Prednost HTTPS je, da je vsebina med prenosom šifrirana, zato ni treba skrbeti za uhajanje informacij zaradi prestrezanja drugih. Preden omogočimo SSL, se moramo najprej prijaviti za potrdilo. Ko ga dobimo, glejte naslednjo konfiguracijo, da dokončate nastavitve 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>