Instal·leu Apache a CentOS7
Referència oficial
Pàgina web oficial Documentació del producte HTTPS GzipRealitzeu la instal·lació
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Modifiqueu el fitxer de configuració
Un cop finalitzada la instal·lació, hem de fer algunes modificacions al fitxer de configuració. El contingut de la modificació específica sol incloure: IP i port enllaçats, transmissió de compressió gzip, nombre de connexions simultànies i SSL. Expliquem-los un per un a continuació.
Modifiqueu la IP i el port enllaçats
La IP i el port per defecte que escolta Apache és 0.0.0.0:80. Si necessitem modificar la IP i el port supervisats, podem modificar-los directament. Si necessitem enllaçar diversos ports, també els podem afegir. A l'exemple següent, enllaçem els ports 80 i 443. El port 443 és el número de port predeterminat per a HTTPS.
Listen 80
Listen 443 https
Transmissió gzip oberta
Com que el rendiment de la CPU del nostre ordinador és relativament alt, normalment el coll d'ampolla apareixerà a l'amplada de banda de la xarxa, de manera que podem optar per activar la transmissió de compressió gzip. Hi ha 9 nivells de compressió. Podem triar segons el rendiment del nostre servidor i trobar el nivell més adequat. A l'exemple següent, el configurem al nivell 1. Els tipus de fitxers comprimits són: html, xml, php, css, js, també podem afegir tipus de fitxers comprimits segons sigui necessari.
<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>
Configureu KeepAlive
La funció de KeepAlive és mantenir el client i el servidor connectats durant un període de temps. Quan obrim una pàgina web, normalment necessitem carregar el contingut principal, js, css i imatges. Com que cada recurs ha d'iniciar una sol·licitud HTTP independent, habilitem KeepAlive per reduir el temps necessari per a cada sol·licitud per establir un enllaç TCP / IP. Però KeepAlive també té inconvenients: farà que s’ocupin els recursos IO del servidor, de manera que hem de triar si cal activar KeepAlive segons la situació real. Si KeepAlive està habilitat, també hem d’establir un temps d’espera raonable per evitar que la IO del servidor estigui ocupada durant molt de temps. L'exemple següent conté diversos paràmetres principals de KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Configureu el nombre de simultanis
Una configuració raonable del nombre de simultanis pot millorar considerablement el rendiment del servidor. Normalment, el nostre Apache funciona en mode mpm_prefork. Hem de configurar raonablement diversos paràmetres clau. El que hem de prestar atenció és que el nombre màxim de connexions no ha de ser massa petit, massa petit farà que es rebutgi un gran nombre de sol·licituds d'usuaris quan la concurrència sigui alta. El valor raonable que establim hauria de referir-se a la CPU i a la memòria del servidor. Sempre que els recursos siguin suficients, hauríem d’establir-lo el més gran possible, però si el configurem massa gran, els recursos del servidor s’esgotaran i Apache també es bloquejarà.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Configureu SSL
Ara la majoria de llocs web tenen SSL habilitat per admetre connexions segures HTTPS. L’avantatge d’HTTPS és que el contingut durant la transmissió està xifrat, de manera que no cal preocupar-se per la filtració d’informació a causa de la interceptació d’altres. Abans d'activar SSL, primer hem de sol·licitar un certificat. Després d'obtenir-lo, consulteu la configuració següent per completar la configuració 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>