Instalirajte Apache na CentOS7

Službena referenca

Službena stranica Dokumentacija proizvoda HTTPS Gzip

Izvršite instalaciju

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

Izmijenite konfiguracijsku datoteku

Nakon završetka instalacije moramo izvršiti neke izmjene u konfiguracijskoj datoteci. Specifični sadržaj modifikacije obično uključuje: vezani IP i port, gzip prijenos kompresije, broj istodobnih veza i SSL. Objasnimo ih redom u nastavku.

Izmijenite povezani IP i port

Zadani IP i port koji Apache sluša su 0.0.0.0:80. Ako trebamo izmijeniti nadziranu IP adresu i port, možemo je izravno izmijeniti. Ako trebamo vezati više priključaka, možemo ih i dodati. U sljedećem primjeru vežemo priključke 80 i 443. Luka 443 zadani je broj porta za HTTPS.

            Listen 80
Listen 443 https
        

Otvoreni gzip prijenos

Budući da su performanse procesora našeg računala relativno visoke, obično će se usko grlo pojaviti u mrežnoj propusnosti, tako da možemo odabrati uključivanje gzip kompresije. Postoji 9 stupnjeva kompresije. Možemo odabrati u skladu s performansama našeg poslužitelja i pronaći najprikladniju razinu. U donjem primjeru postavili smo ga na razinu 1. Vrste komprimiranih datoteka su: html, xml, php, css, js, po potrebi možemo dodati i komprimirane vrste datoteka.

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

Postavite KeepAlive

Funkcija KeepAlive je zadržati klijenta i poslužitelj povezani neko vrijeme. Kad otvorimo web stranicu, obično moramo učitati glavni sadržaj, js, css i slike. Budući da svaki resurs treba pokrenuti zasebni HTTP zahtjev, omogućujemo KeepAlive da smanji vrijeme potrebno za svaki zahtjev za uspostavljanje TCP / IP veze. No KeepAlive ima i nedostataka, uzrokovat će zauzimanje IO resursa poslužitelja, pa moramo odabrati hoćemo li omogućiti KeepAlive prema stvarnoj situaciji. Ako je KeepAlive omogućen, također mu moramo postaviti razumno vremensko ograničenje kako bismo izbjegli da IO poslužitelja bude dugo zauzet. Sljedeći primjer sadrži nekoliko glavnih postavki KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfigurirajte broj istodobnih

Razumna konfiguracija broja istodobnih parametara može uvelike poboljšati protok poslužitelja. Obično naš Apache radi u mpm_prefork načinu. Moramo razumno konfigurirati nekoliko ključnih parametara. Ono na što moramo obratiti pažnju je da maksimalan broj veza ne smije biti premalen, premalen će odbiti velik broj zahtjeva korisnika kada je istodobnost velika. Razumna vrijednost koju postavimo trebala bi se odnositi na CPU i memoriju poslužitelja. Sve dok su resursi dovoljni, trebali bismo je postaviti što veću, ali ako je postavimo preveliku, resursi poslužitelja će se iscrpiti, a Apache će se također srušiti.

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

Konfigurirajte SSL

Većina web stranica sada ima omogućen SSL za podršku sigurnim HTTPS vezama. Prednost HTTPS-a je u tome što je sadržaj tijekom prijenosa šifriran, pa nema potrebe brinuti se zbog curenja informacija zbog presretanja drugih. Prije omogućavanja SSL-a, prvo se moramo prijaviti za certifikat. Nakon što dobijemo certifikat, pogledajte sljedeću konfiguraciju da biste dovršili SSL postavke.

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