CentOS7'та Apache урнаштырыгыз

Рәсми белешмәлек

Рәсми сайт Продукция документлары 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, рәсемнәрне йөкләргә кирәк. Resourceәр ресурс аерым HTTP соравын башларга тиеш булганлыктан, без KeepAlive-ны TCP / IP сылтамасы булдыру өчен кирәк булган вакытны кыскартырга мөмкинлек бирәбез. Ләкин 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>