ApOS-u CentOS7-də quraşdırın

Rəsmi istinad

Rəsmi veb sayt Məhsul sənədləri HTTPS Gzip

Quraşdırmanı həyata keçirin

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

Konfiqurasiya sənədini dəyişdirin

Quraşdırma başa çatdıqdan sonra, konfiqurasiya sənədində bəzi dəyişikliklər etməliyik. Xüsusi modifikasiya məzmununa adətən aşağıdakılar daxildir: bağlı IP və port, gzip sıxılma ötürülməsi, paralel əlaqələrin sayı və SSL. Gəlin bunları aşağıda bir-bir izah edək.

Bağlı IP və portu dəyişdirin

Apache'nin dinlədiyi standart IP və port 0.0.0.0:80. Dinləyən IP və portu dəyişdirməliyiksə, birbaşa dəyişdirə bilərik. Bir çox portu bağlamağımız lazımdırsa, onları da əlavə edə bilərik. Aşağıdakı nümunədə, 80 və 443 portlarını bağlayırıq. Port 443, HTTPS üçün standart port nömrəsidir.

            Listen 80
Listen 443 https
        

Gzip ötürülməsini açın

Kompüterimizin CPU performansı nisbətən yüksək olduğundan, ümumiyyətlə darlıq şəbəkə bant genişliyində görünəcək, buna görə də gzip sıxılma ötürülməsini açmağı seçə bilərik. Sıxılma səviyyəsinin 9-u var, serverimizin işinə görə seçim edə və ən uyğun səviyyə tapa bilərik. Aşağıdakı nümunədə onu 1-ci səviyyəyə qoyduq. Sıxılmış fayl növləri bunlardır: html, xml, php, css, js, ehtiyac olduqda sıxılmış fayl növlərini də əlavə edə bilərik.

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

KeepAlive-nin funksiyası müştərini və serverini bir müddət bağlı saxlamaqdır. Bir veb səhifəni açdığımızda, ümumiyyətlə əsas məzmunu, js, css və şəkilləri yükləməliyik.Hər bir mənbənin ayrı bir HTTP sorğusu başlatması lazım olduğundan, TCP / IP bağlantısı qurmaq üçün hər sorğu üçün lazım olan vaxtı azaltmaq üçün KeepAlive-yə imkan veririk. Lakin KeepAlive-nin də çatışmazlıqları var.Bu, serverin IO resurslarının zəbt olunmasına səbəb olacaq, buna görə də KeepAlive-ı faktiki vəziyyətə uyğunlaşdırıb etməyəcəyimizi seçməliyik. KeepAlive aktivdirsə, server IO-nun uzun müddət məşğul olmasının qarşısını almaq üçün bunun üçün məqbul bir fasilə təyin etməliyik. Aşağıdakı nümunə KeepAlive-ın bir neçə əsas parametrlərini ehtiva edir.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Paralel sayını konfiqurasiya edin

Paralel sayının ağlabatan bir konfiqurasiyası serverin iş qabiliyyətini xeyli yaxşılaşdıra bilər. Ümumiyyətlə Apache mpm_prefork rejimində işləyir. Bir neçə əsas parametrləri əsaslı şəkildə konfiqurasiya etməliyik. Diqqət etməyimiz lazım olan şey, maksimum əlaqə sayının çox kiçik olmaması, çox kiçik olması, eyni vaxtda yüksək olduqda çox sayda istifadəçi istəklərinin rədd edilməsinə səbəb olacaqdır. Təyin etdiyimiz ağlabatan dəyər serverin prosessoruna və yaddaşına istinad etməlidir.Mənbələr kifayət qədər olduğu müddətdə onu mümkün qədər böyük təyin etməliyik, ancaq çox böyük etsək, server resursları tükənəcək və Apache də qəzaya uğrayacaq.

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

SSL konfiqurasiya edin

İndi əksər veb saytlarda HTTPS təhlükəsiz əlaqələrini dəstəkləmək üçün SSL effektivdir. HTTPS-nin üstünlüyü ondadır ki, ötürülmə zamanı məzmunun şifrələnməsi, bu səbəbdən başqalarının ələ keçirməsi səbəbindən məlumat sızması barədə narahat olmağa ehtiyac yoxdur. SSL-i işə salmazdan əvvəl əvvəlcə sertifikat üçün müraciət etməliyik.Sertifikatı aldıqdan sonra SSL parametrlərini tamamlamaq üçün aşağıdakı konfiqurasiyaya baxın.

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