Installa Apache fuq CentOS7

Referenza uffiċjali

Websajt uffiċjali Dokumentazzjoni tal-Prodott HTTPS Gzip

Wettaq l-installazzjoni

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

Immodifika l-fajl tal-konfigurazzjoni

Wara li l-installazzjoni tkun lesta, għandna nagħmlu xi modifiki fil-fajl tal-konfigurazzjoni. Il-kontenut speċifiku ta 'modifika ġeneralment jinkludi: IP u port marbut, trasmissjoni ta' kompressjoni gzip, numru ta 'konnessjonijiet konkorrenti, u SSL. Ejja nispjegawhom waħda waħda hawn taħt.

Immodifika l-IP u l-port marbut

L-IP u l-port default li tisma ’Apache huwa 0.0.0.0:80. Jekk għandna bżonn nimmodifikaw l-IP u l-port immonitorjati, nistgħu nimmodifikawh direttament. Jekk għandna bżonn norbtu diversi portijiet, nistgħu nżiduhom ukoll. Fl-eżempju li ġej, aħna norbtu l-portijiet 80 u 443. Il-Port 443 huwa n-numru tal-port default għal HTTPS.

            Listen 80
Listen 443 https
        

Trasmissjoni gzip miftuħa

Minħabba li l-prestazzjoni tas-CPU tal-kompjuter tagħna hija relattivament għolja, ġeneralment il-konġestjoni tidher fil-wisa 'tal-banda tan-netwerk, u għalhekk nistgħu nagħżlu li ndawru t-trażmissjoni tal-kompressjoni gzip. Hemm 9 livelli ta 'kompressjoni.Aħna nistgħu nagħżlu skont il-prestazzjoni tas-server tagħna u nsibu l-iktar livell adattat. Fl-eżempju ta 'hawn taħt, issettjawha għal-livell 1. It-tipi ta 'fajls ikkompressati huma: html, xml, php, css, js, nistgħu nżidu wkoll tipi ta' fajls ikkompressati kif meħtieġ.

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

Issettja KeepAlive

Il-funzjoni ta 'KeepAlive hija li żżomm il-klijent u s-server konnessi għal perjodu ta' żmien. Meta niftħu paġna tal-web, ġeneralment ikollna bżonn inġorru l-kontenut ewlieni, js, css, u stampi. Peress li kull riżorsa teħtieġ tibda talba HTTP separata, aħna nippermettu lil KeepAlive tnaqqas il-ħin meħtieġ għal kull talba biex tistabbilixxi rabta TCP / IP. Iżda KeepAlive għandu wkoll żvantaġġi. Dan se jikkawża li r-riżorsi IO tas-server jiġu okkupati, allura rridu nagħżlu jekk nippermettux KeepAlive skond is-sitwazzjoni attwali. Jekk KeepAlive huwa attivat, irridu nistabbilixxu wkoll timeout raġonevoli għalih biex nevitaw li l-IO tas-server ikun okkupat għal żmien twil. L-eżempju li ġej fih diversi settings ewlenin ta 'KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Ikkonfigura n-numru ta 'konkorrenti

Konfigurazzjoni raġonevoli tan-numru ta 'konkorrenti tista' ttejjeb ħafna l-fluss tas-server. Normalment l-Apache tagħna taħdem fil-modalità mpm_prefork. Għandna bżonn nikkonfiguraw b'mod raġonevoli diversi parametri ewlenin. Dak li rridu nagħtu attenzjoni hu li n-numru massimu ta 'konnessjonijiet m'għandux ikun żgħir wisq, żgħir wisq jikkawża li numru kbir ta' talbiet tal-utenti jiġu rrifjutati meta l-konkorrenza tkun għolja. Il-valur raġonevoli li nissettjaw għandu jirreferi għas-CPU u l-memorja tas-server. Sakemm ir-riżorsi jkunu biżżejjed, għandna nagħmluh kbir kemm jista 'jkun, imma jekk nissettjawh kbir wisq, ir-riżorsi tas-server jiġu eżawriti u Apache se jaħbat ukoll.

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

Ikkonfigura SSL

Ħafna websajts issa għandhom l-SSL attivat biex jappoġġjaw konnessjonijiet siguri HTTPS. Il-vantaġġ ta 'HTTPS huwa li l-kontenut waqt it-trażmissjoni huwa kriptat, u għalhekk m'hemmx għalfejn tinkwieta dwar tnixxija ta' informazzjoni minħabba interċettazzjoni minn oħrajn. Qabel ma nippermettu l-SSL, l-ewwel irridu napplikaw għal ċertifikat Wara li jkollna ċ-ċertifikat, irreferi għall-konfigurazzjoni li ġejja biex tlesti l-issettjar 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>