Settu Apache upp á CentOS7

Opinber tilvísun

Opinber vefsíða Vöruskjal HTTPS Gzip

Framkvæma uppsetningu

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

Breyttu stillingarskránni

Eftir að uppsetningu er lokið verðum við að gera nokkrar breytingar á stillingarskránni. Sérstaklega breytingin inniheldur venjulega: bundin IP og höfn, gzip þjöppunarsending, fjöldi samtímatenginga og SSL. Við skulum útskýra þau eitt af öðru hér að neðan.

Breyttu bundnu IP og höfninni

Sjálfgefin IP og höfn sem Apache hlustar á er 0.0.0.0:80. Ef við þurfum að breyta eftirliti með IP og höfn, getum við breytt því beint. Ef við þurfum að binda margar höfn getum við líka bætt þeim við. Í eftirfarandi dæmi bindum við tengi 80 og 443. Gátt 443 er sjálfgefið höfnarnúmer HTTPS.

            Listen 80
Listen 443 https
        

Opna gzip sendingu

Vegna þess að afköst örgjörva tölvunnar okkar eru tiltölulega há mun venjulega flöskuhálsinn birtast í bandbreidd netsins, þannig að við getum valið að kveikja á gzip þjöppunarsendingu. Þjöppunarstig eru 9. Við getum valið í samræmi við frammistöðu netþjónsins og fundið það stig sem hentar best. Í dæminu hér að neðan settum við það á stig 1. Þjöppuðu skráargerðirnar eru: html, xml, php, css, js, við getum líka bætt við þjöppuðum skráargerðum eftir þörfum.

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

Settu upp KeepAlive

Hlutverk KeepAlive er að halda viðskiptavininum og netþjóninum tengdum í nokkurn tíma. Þegar við opnum vefsíðu þurfum við venjulega að hlaða aðalinnihaldinu, js, css og myndum. Þar sem hver auðlind þarf að hefja sérstaka HTTP beiðni, gerum við KeepAlive kleift að draga úr þeim tíma sem þarf fyrir hverja beiðni til að koma á TCP / IP tengli. En KeepAlive hefur líka galla. Það mun valda því að IO auðlindir netþjónsins eru uppteknir, þannig að við verðum að velja hvort við viljum gera KeepAlive í samræmi við raunverulegar aðstæður. Ef KeepAlive er virkt, verðum við einnig að setja hæfilegan tíma fyrir það til að koma í veg fyrir að IO miðlara sé upptekinn í langan tíma. Eftirfarandi dæmi inniheldur nokkrar aðalstillingar KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Stilltu fjölda samhliða

Sanngjörn stilling á fjölda samhliða getur bætt afköst netþjónsins til muna. Venjulega virkar Apache okkar í mpm_prefork ham. Við verðum að stilla nokkra lykilstika með eðlilegum hætti. Það sem við verðum að taka eftir er að hámarksfjöldi tenginga ætti ekki að vera of lítill, of lítill mun valda því að fjöldi beiðna notenda verður hafnað þegar samfallið er hátt. Sanngjarnt gildi sem við setjum ætti að vísa til örgjörva og minni netþjónsins. Svo framarlega sem auðlindirnar eru nægar ættum við að stilla hann eins stóran og mögulegt er, en ef við stillum hann of stóran tíma verða auðlindir miðlara búnar og Apache mun líka hrynja.

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

Stilla SSL

Nú eru flestar vefsíður með SSL virkt til að styðja við HTTPS örugga tengingu. Kosturinn við HTTPS er að innihald meðan á sendingu stendur er dulkóðuð, svo það er engin þörf á að hafa áhyggjur af upplýsingaleka vegna hlerana af öðrum. Áður en SSL er gert virkt verðum við fyrst að sækja um skírteini. Eftir að við fáum skírteinið, sjáðu eftirfarandi stillingar til að ljúka SSL stillingum.

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