Apache дар CentOS7 насб кунед

Маълумоти расмӣ

Сомонаи расмӣ Ҳуҷҷатҳои маҳсулот HTTPS Gzip

Насбро иҷро кунед

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

Файли танзимотро тағир диҳед

Пас аз ба охир расидани насб, мо бояд ба файли танзимот тағиротҳо ворид кунем. Мазмуни махсуси тағирот одатан инҳоро дар бар мегирад: IP ва порти баста, интиқоли фишурдаи gzip, шумораи пайвастҳои ҳамзамон ва SSL. Биёед онҳоро як ба як дар зер шарҳ диҳем.

IP ва бандари пайвастшударо тағир диҳед

IP ва бандари пешфарз, ки Apache гӯш мекунад, 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 кор мекунад. Мо бояд якчанд параметрҳои асосиро оқилона танзим кунем. Он чизе, ки мо бояд диққат диҳем, ин аст, ки шумораи максималии пайвастагиҳо набояд хеле хурд бошад, ва хеле хурд боиси радди шумораи зиёди дархостҳои корбарон мегардад, агар ҳамзамон баланд бошад. Арзиши оқилонаи мо муқарраршуда бояд ба CPU ва хотираи сервер ишора кунад, то даме ки манбаъҳо кофӣ бошанд, мо бояд онро ба қадри имкон муқаррар кунем, аммо агар мо онро аз ҳад зиёд насб кунем, манбаҳои сервер тамом мешаванд ва 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>