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 берілісі

Біздің компьютердің CPU өнімділігі салыстырмалы түрде жоғары болғандықтан, тар жол желінің өткізу қабілеттілігінде пайда болады, сондықтан біз 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 сұрауын бастау керек болғандықтан, біз 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>