დააინსტალირეთ 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>