Instalați Apache pe CentOS7
Referință oficială
Site oficial Documentația produsului HTTPS GzipEfectuați instalarea
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Modificați fișierul de configurare
După finalizarea instalării, trebuie să facem unele modificări la fișierul de configurare. Conținutul modificării specifice include de obicei: IP și port legat, transmisie de compresie gzip, numărul de conexiuni simultane și SSL. Să le explicăm unul câte unul mai jos.
Modificați IP-ul legat și portul
IP-ul și portul implicit pe care le ascultă Apache sunt 0.0.0.0:80. Dacă trebuie să modificăm IP-ul și portul monitorizate, îl putem modifica direct. Dacă trebuie să legăm mai multe porturi, le putem adăuga. În exemplul următor, legăm porturile 80 și 443. Portul 443 este numărul de port implicit pentru HTTPS.
Listen 80
Listen 443 https
Deschideți transmisia gzip
Deoarece performanța procesorului computerului nostru este relativ ridicată, de obicei blocajul va apărea în lățimea de bandă a rețelei, astfel încât să putem alege să activăm transmisia de compresie gzip. Există 9 niveluri de compresie. Putem alege în funcție de performanța serverului nostru și să găsim cel mai potrivit nivel. În exemplul de mai jos, l-am setat la nivelul 1. Tipurile de fișiere comprimate sunt: html, xml, php, css, js, putem adăuga și tipuri de fișiere comprimate, după cum este necesar.
<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>
Configurați KeepAlive
Funcția KeepAlive este de a păstra clientul și serverul conectat pentru o perioadă de timp. Când deschidem o pagină web, de obicei trebuie să încărcăm conținutul principal, js, css și imagini. Deoarece fiecare resursă trebuie să inițieze o cerere HTTP separată, activăm KeepAlive pentru a reduce timpul necesar pentru fiecare cerere pentru a stabili o legătură TCP / IP. Dar KeepAlive are și dezavantaje. Aceasta va face ca resursele IO ale serverului să fie ocupate, deci trebuie să alegem dacă să activăm KeepAlive în funcție de situația reală. Dacă KeepAlive este activat, trebuie să setăm un timeout rezonabil pentru a evita ca IO-ul serverului să fie ocupat mult timp. Următorul exemplu conține mai multe setări principale ale KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Configurați numărul de simultane
O configurație rezonabilă a numărului de simultane poate îmbunătăți considerabil capacitatea de transfer a serverului. De obicei, Apache-ul nostru funcționează în modul mpm_prefork. Trebuie să configurăm în mod rezonabil mai mulți parametri cheie. Trebuie să fim atenți la faptul că numărul maxim de conexiuni nu trebuie să fie prea mic, prea mic va face ca un număr mare de solicitări ale utilizatorilor să fie respins atunci când concurența este mare. Valoarea rezonabilă pe care o setăm ar trebui să se refere la CPU și memorie ale serverului. Atâta timp cât resursele sunt suficiente, ar trebui să o setăm cât mai mare posibil, dar dacă o setăm prea mare, resursele serverului vor fi epuizate, iar Apache se va prăbuși.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Configurați SSL
Majoritatea site-urilor web au acum SSL activat pentru a accepta conexiuni securizate HTTPS. Avantajul HTTPS este că conținutul în timpul transmisiei este criptat, deci nu este nevoie să vă faceți griji cu privire la scurgerea informațiilor din cauza interceptării de către alții. Înainte de a activa SSL, trebuie mai întâi să solicităm un certificat. După ce obținem certificatul, consultați următoarea configurație pentru a finaliza setările 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>