Installa Apache su CentOS7
Riferimento ufficiale
Sito ufficiale Documentazione del prodotto HTTPS GzipEseguire l'installazione
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Modifica il file di configurazione
Al termine dell'installazione, è necessario apportare alcune modifiche al file di configurazione. Il contenuto della modifica specifica di solito include: IP e porta associati, trasmissione con compressione gzip, numero di connessioni simultanee e SSL. Spiegiamoli uno per uno di seguito.
Modificare l'IP e la porta associati
L'IP e la porta predefiniti su cui Apache ascolta è 0.0.0.0:80. Se dobbiamo modificare l'IP e la porta monitorati, possiamo modificarli direttamente. Se dobbiamo associare più porte, possiamo anche aggiungerle. Nell'esempio seguente, colleghiamo le porte 80 e 443. La porta 443 è il numero di porta predefinito per HTTPS.
Listen 80
Listen 443 https
Apri trasmissione gzip
Poiché le prestazioni della CPU del nostro computer sono relativamente elevate, di solito il collo di bottiglia apparirà nella larghezza di banda della rete, quindi possiamo scegliere di attivare la trasmissione con compressione gzip. Ci sono 9 livelli di compressione, possiamo scegliere in base alle prestazioni del nostro server e trovare il livello più adatto. Nell'esempio seguente, lo abbiamo impostato al livello 1. I tipi di file compressi sono: html, xml, php, css, js, possiamo anche aggiungere tipi di file compressi secondo necessità.
<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 KeepAlive
La funzione di KeepAlive è mantenere il client e il server connessi per un periodo di tempo. Quando apriamo una pagina web, di solito abbiamo bisogno di caricare il contenuto principale, js, css e immagini. Poiché ogni risorsa deve avviare una richiesta HTTP separata, abilitiamo KeepAlive per ridurre il tempo necessario a ciascuna richiesta per stabilire un collegamento TCP / IP. Ma KeepAlive ha anche degli svantaggi: causerà l'occupazione delle risorse IO del server, quindi dobbiamo scegliere se abilitare KeepAlive in base alla situazione attuale. Se KeepAlive è abilitato, dobbiamo anche impostare un timeout ragionevole per evitare che l'IO del server venga occupato per un lungo periodo. Il seguente esempio contiene diverse impostazioni principali di KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Configura il numero di simultanei
Una configurazione ragionevole del numero di simultanei può migliorare notevolmente la velocità effettiva del server. Di solito il nostro Apache funziona in modalità mpm_prefork. Abbiamo bisogno di configurare ragionevolmente diversi parametri chiave. Ciò a cui dobbiamo prestare attenzione è che il numero massimo di connessioni non dovrebbe essere troppo piccolo, troppo piccolo causerà il rifiuto di un numero elevato di richieste utente quando la concorrenza è alta. Il valore ragionevole che impostiamo dovrebbe fare riferimento alla CPU e alla memoria del server. Finché le risorse sono sufficienti, dovremmo impostarlo il più grande possibile, ma se lo impostiamo troppo grande, le risorse del server saranno esaurite e anche Apache andrà in crash.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Configura SSL
La maggior parte dei siti Web ora dispone di SSL abilitato per supportare le connessioni protette HTTPS. Il vantaggio di HTTPS è che il contenuto durante la trasmissione è crittografato, quindi non è necessario preoccuparsi della perdita di informazioni dovuta all'intercettazione da parte di altri. Prima di abilitare SSL, dobbiamo prima richiedere un certificato Dopo aver ottenuto il certificato, fare riferimento alla seguente configurazione per completare le impostazioni 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>