Installera Apache på CentOS7
Officiell referens
Officiell hemsida Produktdokumentation HTTPS GzipUtför installationen
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Ändra konfigurationsfilen
När installationen är klar måste vi göra några ändringar i konfigurationsfilen. Det specifika modifieringsinnehållet innehåller vanligtvis: bunden IP och port, gzip-komprimeringsöverföring, antal samtidiga anslutningar och SSL. Låt oss förklara dem en efter en nedan.
Ändra den bundna IP: n och porten
Standard-IP och port som Apache lyssnar på är 0.0.0.0:80. Om vi behöver ändra den övervakade IP: n och porten kan vi ändra den direkt. Om vi behöver binda flera portar kan vi också lägga till dem. I följande exempel binder vi portar 80 och 443. Port 443 är standardportnummer för HTTPS.
Listen 80
Listen 443 https
Öppna gzip-överföring
Eftersom datorns CPU-prestanda är relativt hög, visas vanligtvis flaskhalsen i nätverksbandbredden, så vi kan välja att aktivera gzip-komprimeringsöverföring. Det finns 9 komprimeringsnivåer. Vi kan välja beroende på vår servers prestanda och hitta den lämpligaste nivån. I exemplet nedan ställer vi in det på nivå 1. De komprimerade filtyperna är: html, xml, php, css, js, vi kan också lägga till komprimerade filtyper efter behov.
<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>
Ställ in KeepAlive
KeepAlives funktion är att hålla klienten och servern ansluten under en tidsperiod. När vi öppnar en webbsida behöver vi vanligtvis ladda huvudinnehållet, js, css och bilder. Eftersom varje resurs måste initiera en separat HTTP-begäran, aktiverar vi KeepAlive för att minska den tid som krävs för varje begäran att skapa en TCP / IP-länk. Men KeepAlive har också nackdelar, det kommer att leda till att serverns IO-resurser är upptagen, så vi måste välja om KeepAlive ska aktiveras enligt den faktiska situationen. Om KeepAlive är aktiverat måste vi också ställa in en rimlig tidsgräns för att undvika att server IO är upptagen under lång tid. Följande exempel innehåller flera huvudinställningar för KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Konfigurera antalet samtidiga
En rimlig konfiguration av antalet samtidiga kan avsevärt förbättra serverns genomströmning. Vanligtvis fungerar vår Apache i mpm_prefork-läge. Vi måste rimligen konfigurera flera viktiga parametrar. Vad vi måste vara uppmärksamma på är att det maximala antalet anslutningar inte ska vara för litet, för litet kommer att leda till att ett stort antal användarförfrågningar avvisas när samtidigheten är hög. Det rimliga värdet som vi ställer in ska hänvisa till serverns CPU och minne. Så länge resurserna är tillräckliga bör vi ställa in den så stor som möjligt, men om vi ställer in den för stor kommer serverresurserna att vara uttömda och Apache kommer också att krascha.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Konfigurera SSL
De flesta webbplatser har nu SSL aktiverat för att stödja säkra HTTPS-anslutningar. Fördelen med HTTPS är att innehållet under överföringen är krypterat, så det finns ingen anledning att oroa sig för informationsläckage på grund av andra avlyssning. Innan du aktiverar SSL måste vi först ansöka om ett certifikat. När vi har fått certifikatet, se följande konfiguration för att slutföra SSL-inställningarna.
<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>