Nainštalujte si Apache na CentOS7

Úradný odkaz

Oficiálna web stránka Produktová dokumentácia HTTPS Gzip

Vykonajte inštaláciu

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

Upravte konfiguračný súbor

Po dokončení inštalácie musíme urobiť nejaké zmeny v konfiguračnom súbore. Obsah konkrétnej úpravy zvyčajne obsahuje: viazanú adresu IP a port, kompresný prenos gzip, počet súbežných pripojení a SSL. Poďme si ich vysvetliť jeden po druhom.

Upravte viazanú adresu IP a port

Predvolená IP a port, ktorý Apache počúva, je 0.0.0.0:80. Ak potrebujeme upraviť sledovanú IP a port, môžeme ho upraviť priamo. Ak potrebujeme viazať viac portov, môžeme ich tiež pridať. V nasledujúcom príklade viažeme porty 80 a 443. Port 443 je predvolené číslo portu pre HTTPS.

            Listen 80
Listen 443 https
        

Otvorený prenos gzip

Pretože výkon procesora nášho počítača je pomerne vysoký, zvyčajne sa objaví úzke miesto v šírke pásma siete, takže môžeme zvoliť zapnutie kompresného prenosu gzip. Existuje 9 úrovní kompresie. Môžeme si vybrať podľa výkonu nášho servera a nájsť najvhodnejšiu úroveň. V príklade nižšie sme to nastavili na úroveň 1. Typy komprimovaných súborov sú: html, xml, php, css, js, podľa potreby môžeme pridať aj typy komprimovaných súborov.

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

Nastavte KeepAlive

Funkciou KeepAlive je udržiavať klienta a server po určitý čas pripojený. Keď otvoríme webovú stránku, zvyčajne musíme načítať hlavný obsah, js, css a obrázky. Pretože každý zdroj musí iniciovať samostatnú požiadavku HTTP, umožňujeme aplikácii KeepAlive skrátiť čas potrebný na vytvorenie žiadosti o spojenie TCP / IP pre každú požiadavku. KeepAlive má ale aj nevýhody. Spôsobí to obsadenie zdrojov IO servera, takže si musíme zvoliť, či KeepAlive povoliť podľa aktuálnej situácie. Ak je KeepAlive povolený, musíme tiež nastaviť primeraný časový limit, aby sme zabránili dlhodobému obsadeniu IO servera. Nasledujúci príklad obsahuje niekoľko hlavných nastavení KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Nakonfigurujte počet súbežných

Primeraná konfigurácia počtu súbežných serverov môže výrazne zvýšiť priepustnosť servera. Náš Apache zvyčajne pracuje v režime mpm_prefork. Musíme rozumne nakonfigurovať niekoľko kľúčových parametrov. Musíme si dať pozor na to, aby maximálny počet pripojení nebol príliš malý, príliš malý spôsobí odmietnutie veľkého počtu užívateľských požiadaviek, keď je vysoká súbežnosť. Primeraná hodnota, ktorú sme nastavili, by sa mala vzťahovať na CPU a pamäť servera. Pokiaľ sú zdroje dostatočné, mali by sme ich nastaviť čo najväčšiu, ale ak ich nastavíme príliš veľkú, prostriedky servera sa vyčerpajú a dôjde tiež k zlyhaniu Apache.

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

Nakonfigurujte SSL

Väčšina webových stránok má teraz povolené SSL na podporu zabezpečeného pripojenia HTTPS. Výhodou protokolu HTTPS je, že obsah počas prenosu je šifrovaný, takže sa nemusíte obávať úniku informácií v dôsledku odpočúvania ostatnými. Pred povolením SSL musíme najskôr požiadať o certifikát. Po získaní certifikátu dokončite nastavenia SSL v nasledujúcej konfigurácii.

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