ApOS-u CentOS7-də quraşdırın
Rəsmi istinad
Rəsmi veb sayt Məhsul sənədləri HTTPS GzipQuraş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>