Instaloni Apache në CentOS7

Referencë zyrtare

Uebfaqe zyrtare Dokumentacioni i Produktit HTTPS Gzip

Kryeni instalimin

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

Modifikoni skedarin e konfigurimit

Pas përfundimit të instalimit, duhet të bëjmë disa modifikime në skedarin e konfigurimit. Përmbajtja specifike e modifikimit zakonisht përfshin: IP dhe port të lidhur, transmetimin e kompresimit gzip, numrin e lidhjeve të njëkohshme dhe SSL. Le t'i shpjegojmë ato një nga një më poshtë.

Modifikoni IP-në dhe portën e lidhur

IP dhe porti i paracaktuar që Apache dëgjon është 0.0.0.0:80. Nëse duhet të modifikojmë IP dhe portin e monitoruar, mund ta modifikojmë atë drejtpërdrejt. Nëse duhet të lidhim shumë porte, mund t'i shtojmë edhe ato. Në shembullin vijues, ne lidhim portet 80 dhe 443. Porti 443 është numri i parazgjedhur i portës për HTTPS.

            Listen 80
Listen 443 https
        

Transmetimi i hapur gzip

Meqenëse performanca e CPU-së së kompjuterit tonë është relativisht e lartë, zakonisht ngushtësia do të shfaqet në gjerësinë e rrjetit, kështu që ne mund të zgjedhim të aktivizojmë transmetimin e kompresimit gzip. Ekzistojnë 9 nivele të ngjeshjes. Ne mund të zgjedhim sipas performancës së serverit tonë dhe të gjejmë nivelin më të përshtatshëm. Në shembullin më poshtë, ne e vendosim atë në nivelin 1. Llojet e skedarëve të kompresuar janë: html, xml, php, css, js, ne gjithashtu mund të shtojmë lloje të skedarëve të kompresuar sipas nevojës.

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

Konfiguroni KeepAlive

Funksioni i KeepAlive është të mbajë të lidhur klientin dhe serverin për një periudhë kohe. Kur hapim një faqe në internet, zakonisht duhet të ngarkojmë përmbajtjen kryesore, js, css dhe fotografi. Meqenëse secili burim duhet të fillojë një kërkesë të veçantë HTTP, ne mundësojmë KeepAlive të zvogëlojë kohën e nevojshme për çdo kërkesë për të vendosur një lidhje TCP / IP. Por KeepAlive gjithashtu ka të meta. Kjo do të bëjë që burimet e IO të serverit të zënë, kështu që ne duhet të zgjedhim nëse do të mundësojmë KeepAlive në përputhje me situatën aktuale. Nëse KeepAlive është i aktivizuar, ne gjithashtu duhet të vendosim një afat të arsyeshëm për të shmangur zënien e IO të serverit për një kohë të gjatë. Shembulli i mëposhtëm përmban disa cilësime kryesore të KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Konfiguroni numrin e njëkohshëm

Një konfigurim i arsyeshëm i numrit të njëkohshëm mund të përmirësojë shumë xhiros e serverit. Zakonisht Apache ynë punon në modalitetin mpm_prefork. Ne duhet të konfigurojmë në mënyrë të arsyeshme disa parametra kryesorë. Ajo që duhet t'i kushtojmë vëmendje është se numri maksimal i lidhjeve nuk duhet të jetë shumë i vogël, shumë i vogël do të bëjë që një numër i madh i kërkesave të përdoruesve të refuzohen kur konkurenca është e lartë. Vlera e arsyeshme që vendosim duhet t'i referohet CPU-së dhe kujtesës së serverit. Për sa kohë që burimet janë të mjaftueshme, duhet ta vendosim sa më të mëdha, por nëse e vendosim shumë të mëdha, burimet e serverit do të shterojnë dhe Apache gjithashtu do të prishet.

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

Konfiguroni SSL

Shumica e faqeve të internetit tani kanë të aktivizuar SSL për të mbështetur lidhje të sigurta HTTPS. Avantazhi i HTTPS është se përmbajtja gjatë transmetimit është e koduar, kështu që nuk ka nevojë të shqetësoheni për rrjedhjet e informacionit për shkak të përgjimit nga të tjerët. Para se të mundësojmë SSL, së pari duhet të aplikojmë për një certifikatë. Pasi të marrim certifikatën, referojuni konfigurimit të mëposhtëm për të përfunduar cilësimet e 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>