Apacheди CentOS7 орнотуңуз

Расмий маалымдама

Расмий сайт Продукциянын документтери HTTPS Gzip

Орнотууну аткарыңыз

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

Тарам файлын өзгөртүү

Орнотуу аяктагандан кийин, конфигурация файлына бир нече өзгөртүү киргизишибиз керек. Атайын модификациялоонун мазмуну адатта төмөнкүлөрдү камтыйт: байланышкан IP жана порт, gzip кысуу берүүсү, бир катар байланыштардын саны жана SSL. Төмөндө аларды бир-бирден түшүндүрүп берели.

Чектелген IP жана портун өзгөртүү

Apache угуучу демейки IP жана порт - 0.0.0.0:80. Эгерде биз көзөмөлдөгөн IP жана портту өзгөртүү керек болсо, анда биз аны түздөн-түз өзгөртө алабыз. Эгер бир нече портторду байлаш керек болсо, аларды дагы кошо алабыз. Төмөнкү мисалда, биз 80 жана 443 портторду бириктиребиз. Порт 443 - HTTPS үчүн демейки порт номери.

            Listen 80
Listen 443 https
        

Ачык gzip берүүсү

Компьютерибиздин процессорунун көрсөткүчү салыштырмалуу жогору болгондуктан, тар жол тыгыны тармактын өткөрүү жөндөмүндө пайда болот, ошондуктан биз gzip кысуу берүүнү күйгүзө алабыз. Компрессиянын 9 деңгээли бар.Серверибиздин иштешине жараша тандап, эң ылайыктуу деңгээлин таба алабыз. Төмөндөгү мисалда биз аны 1-деңгээлге койдук. Кысылган файл түрлөрү: html, xml, php, css, js, биз ошондой эле кысылган файл түрлөрүн зарылдыгына жараша кошо алабыз.

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

KeepAlive орнотуу

KeepAlive функциясы кардарды жана серверди бир нече убакытка чейин байланыштырып турат. Веб-баракчаны ачканда, адатта, негизги контентти, js, css жана сүрөттөрдү жүктөшүбүз керек.Ар бир ресурс өзүнчө HTTP сурамын башташы керек болгондуктан, TCP / IP шилтемесин орнотуу үчүн ар бир сурамга кеткен убакытты кыскартууга KeepAlive иштетебиз. Бирок KeepAliveдин кемчиликтери дагы бар, бул сервердин IO ресурстарын ээлөөгө алып келет, андыктан KeepAlive'ти иш жүзүндө түзүлгөн кырдаалга жараша иштетип же иштетпешибиз керек. Эгер KeepAlive иштетилген болсо, анда IO серверин узак убакытка чейин ээлеп албашы үчүн, ага ылайыктуу убакытты белгилешибиз керек. Төмөнкү мисалда KeepAlive бир нече негизги орнотуулары камтылган.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Бир мезгилдин санын конфигурациялаңыз

Бир мезгилдин санынын акылга сыярлык конфигурациясы сервердин өткөрүмдүүлүгүн бир топ жакшыртат. Адатта биздин Apache mpm_prefork режиминде иштейт. Биз бир нече негизги параметрлерди акылга сыярлык түрдө конфигурациялашыбыз керек. Көңүл бурушубуз керек болгон нерсе, байланыштардын максималдуу саны өтө эле аз болбошу керек, ал эми кичинекей болсо, колдонуучулардын көп сандаган сурамдары окшоштук жогору болгондо четке кагылат. Биз койгон акылга сыярлык маани сервердин процессоруна жана эс тутумуна таандык болушу керек.Эгер ресурстар жетиштүү болсо, биз аны болушунча чоңураак орнотушубуз керек, бирок өтө эле чоң болсо, сервердин ресурстары түгөнүп, Apache дагы бузулат.

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

SSL'ди конфигурациялоо

Азыр көпчүлүк веб-сайттарда SSL HTTPS коопсуз байланыштарын колдоо үчүн иштетилген. HTTPSтин артыкчылыгы - берүү учурунда камтылгандар шифрленген, андыктан башкалардын тоскоолдуктарына байланыштуу маалыматтын чыгып кетишинен чочулоонун кажети жок. SSL'ди иштетүүдөн мурун, алгач тастыктама алуу үчүн кайрылышыбыз керек.Сертификат алгандан кийин 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>