Installieren Sie Apache unter CentOS7
Offizielle Referenz
Offizielle Website Produktdokumentation HTTPS GzipInstallation durchführen
yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
Ändern Sie die Konfigurationsdatei
Nach Abschluss der Installation müssen einige Änderungen an der Konfigurationsdatei vorgenommen werden. Der spezifische Änderungsinhalt umfasst normalerweise: gebundene IP und Port, Übertragung der GZIP-Komprimierung, Anzahl der gleichzeitigen Verbindungen und SSL. Lassen Sie uns sie unten einzeln erklären.
Ändern Sie die gebundene IP und den Port
Die Standard-IP und der Standardport, die Apache abhört, sind 0.0.0.0:80. Wenn wir die überwachte IP und den überwachten Port ändern müssen, können wir sie direkt ändern. Wenn wir mehrere Ports binden müssen, können wir sie auch hinzufügen. Im folgenden Beispiel binden wir die Ports 80 und 443. Port 443 ist die Standardportnummer für HTTPS.
Listen 80
Listen 443 https
Öffnen Sie die gzip-Übertragung
Da die CPU-Leistung unseres Computers relativ hoch ist, tritt normalerweise der Engpass in der Netzwerkbandbreite auf, sodass wir die gzip-Komprimierungsübertragung aktivieren können. Es gibt 9 Komprimierungsstufen. Wir können je nach Leistung unseres Servers auswählen und die am besten geeignete Stufe finden. Im folgenden Beispiel setzen wir es auf Stufe 1. Die komprimierten Dateitypen sind: HTML, XML, PHP, CSS, JS. Bei Bedarf können wir auch komprimierte Dateitypen hinzufügen.
<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>
Richten Sie KeepAlive ein
Die Funktion von KeepAlive besteht darin, den Client und den Server für einen bestimmten Zeitraum in Verbindung zu halten. Wenn wir eine Webseite öffnen, müssen wir normalerweise den Hauptinhalt, js, css und Bilder laden. Da jede Ressource eine separate HTTP-Anforderung initiieren muss, aktivieren wir KeepAlive, um die Zeit zu reduzieren, die für jede Anforderung zum Herstellen einer TCP / IP-Verbindung erforderlich ist. KeepAlive hat jedoch auch Nachteile: Dadurch werden die E / A-Ressourcen des Servers belegt. Daher müssen wir entsprechend der tatsächlichen Situation auswählen, ob KeepAlive aktiviert werden soll. Wenn KeepAlive aktiviert ist, müssen wir auch ein angemessenes Zeitlimit festlegen, um zu vermeiden, dass Server-E / A für eine lange Zeit belegt ist. Das folgende Beispiel enthält mehrere Haupteinstellungen von KeepAlive.
KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
Konfigurieren Sie die Anzahl der gleichzeitigen
Eine vernünftige Konfiguration der Anzahl der gleichzeitigen Anwendungen kann den Durchsatz des Servers erheblich verbessern. Normalerweise arbeitet unser Apache im mpm_prefork-Modus. Wir müssen einige Schlüsselparameter angemessen konfigurieren. Wir müssen darauf achten, dass die maximale Anzahl von Verbindungen nicht zu klein sein sollte. Zu klein wird dazu führen, dass eine große Anzahl von Benutzeranforderungen abgelehnt wird, wenn die Parallelität hoch ist. Der angemessene Wert, den wir festlegen, sollte sich auf die CPU und den Speicher des Servers beziehen. Solange die Ressourcen ausreichen, sollten wir ihn so groß wie möglich festlegen. Wenn wir ihn jedoch zu groß festlegen, werden die Serverressourcen erschöpft und Apache stürzt ebenfalls ab.
<IfModule mpm_prefork_module>
StartServers 10
MinSpareServers 25
MaxSpareServers 50
ServerLimit 1500
MaxClients 1000
MaxRequestsPerChild 3000
</IfModule>
Konfigurieren Sie SSL
Auf den meisten Websites ist SSL jetzt aktiviert, um sichere HTTPS-Verbindungen zu unterstützen. Der Vorteil von HTTPS besteht darin, dass der Inhalt während der Übertragung verschlüsselt ist, sodass Sie sich keine Sorgen über Informationslecks aufgrund des Abfangens durch andere machen müssen. Bevor Sie SSL aktivieren, müssen Sie zunächst ein Zertifikat beantragen. Nachdem Sie das Zertifikat erhalten haben, lesen Sie die folgende Konfiguration, um die SSL-Einstellungen abzuschließen.
<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>