Apache-ni CentOS7-ga o'rnating

Rasmiy ma'lumotnoma

Rasmiy veb-sayt Mahsulot hujjatlari HTTPS Gzip

O'rnatishni amalga oshiring

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

Konfiguratsiya faylini o'zgartiring

O'rnatish tugagandan so'ng, biz konfiguratsiya faylida ba'zi o'zgartirishlar kiritishimiz kerak. Maxsus modifikatsiya tarkibiga quyidagilar kiradi: bog'langan IP va port, gzip siqishni uzatish, bir vaqtda ulanishlar soni va SSL. Quyida ularni birma-bir tushuntirib beramiz.

Bog'langan IP va portni o'zgartiring

Apache tinglaydigan standart IP va port 0.0.0.0:80. Agar biz kuzatiladigan IP va portni o'zgartirishimiz kerak bo'lsa, uni to'g'ridan-to'g'ri o'zgartirishimiz mumkin. Agar biz bir nechta portni bog'lashimiz kerak bo'lsa, ularni qo'shishimiz mumkin. Quyidagi misolda biz 80 va 443 portlarni bog'laymiz. Port 443 - bu HTTPS uchun standart port raqami.

            Listen 80
Listen 443 https
        

Gzip uzatishni oching

Bizning kompyuterimiz protsessorining ishlashi nisbatan yuqori bo'lganligi sababli, odatda darzlik tarmoq o'tkazuvchanligida paydo bo'ladi, shuning uchun biz gzip siqishni uzatishni yoqishimiz mumkin. Siqilishning 9 darajasi mavjud, biz serverimiz ishlashiga qarab tanlay olamiz va eng mos darajani topamiz. Quyidagi misolda biz uni 1 darajaga o'rnatdik. Siqilgan fayl turlari: html, xml, php, css, js, biz kerak bo'lganda siqilgan fayl turlarini ham qo'shishimiz mumkin.

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

KeepAlive-ning vazifasi mijoz va serverni bir muddat bog'lanib turishdir. Veb-sahifani ochishda biz odatda asosiy tarkibni, js, css va rasmlarni yuklashimiz kerak, chunki har bir manba alohida HTTP so'rovini boshlashi kerak, biz KeepAlive-ga TCP / IP havolasini o'rnatish uchun har bir so'rov uchun zarur bo'lgan vaqtni qisqartirishga imkon beramiz. Ammo KeepAlive-ning kamchiliklari ham bor, bu serverning IO resurslarini ishg'ol qilishiga olib keladi, shuning uchun biz KeepAlive-ni haqiqiy vaziyatga qarab yoqishni tanlashimiz kerak. Agar KeepAlive yoqilgan bo'lsa, biz IO serverini uzoq vaqt ishg'ol qilmaslik uchun unga o'rtacha vaqtni belgilashimiz kerak. Quyidagi misolda KeepAlive-ning bir nechta asosiy sozlamalari mavjud.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Bir vaqtning o'zida sonini sozlang

Bir vaqtning o'zida mos keladigan konfiguratsiya serverning ishlash qobiliyatini sezilarli darajada yaxshilashi mumkin. Odatda bizning Apache mpm_prefork rejimida ishlaydi. Biz bir nechta asosiy parametrlarni oqilona sozlashimiz kerak. E'tibor qilishimiz kerak bo'lgan narsa shundaki, ulanishlarning maksimal soni juda kichik bo'lmasligi kerak, juda kichikligi hamjihatlik yuqori bo'lganida ko'plab foydalanuvchilar so'rovlarini rad etishga olib keladi. Biz o'rnatgan oqilona qiymat serverning protsessori va xotirasiga murojaat qilishi kerak, agar resurslar etarli bo'lsa, biz uni iloji boricha kattaroq qilib qo'yishimiz kerak, ammo biz uni juda katta qilib qo'ysak, server resurslari tugaydi va Apache ham ishdan chiqadi.

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

SSL-ni sozlang

Hozir ko'pchilik veb-saytlarda HTTPS xavfsiz ulanishlarini qo'llab-quvvatlash uchun SSL yoqilgan. HTTPS-ning afzalligi shundan iboratki, uzatish paytida tarkib shifrlangan, shuning uchun atrofdagilar tomonidan ushlanib qolganligi sababli ma'lumotlar chiqib ketishi haqida xavotirlanishga hojat yo'q. SSL-ni yoqishdan oldin, avval sertifikat olish uchun ariza berishimiz kerak.Sertifikat olgandan so'ng SSL sozlamalarini bajarish uchun quyidagi konfiguratsiyaga murojaat qiling.

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