Heim Betrieb und Instandhaltung Apache 5 Tipps zur Optimierung der Apache-Serverleistung

5 Tipps zur Optimierung der Apache-Serverleistung

Jan 05, 2021 am 10:03 AM
apache Server

5 Tipps zur Optimierung der Apache-Serverleistung

Hier sind fünf Tipps zur Optimierung der Apache-Serverleistung:

(Teilen von Lernvideos: Programmiervideo)

1. Aktualisieren Sie Apache immer auf die neueste Version.

Installieren Sie ohne Zweifel die neueste Version von Apache. Wahrscheinlich Das erste, was Sie bedenken müssen. Mit Stand vom 19. November 2015 ist die neueste Version von Apache im CentOS 7-Repository 2.4.6, während die neueste Version in Debian 2.4.10 ist.
Allerdings kann es sein, dass einer neu veröffentlichten stabilen Version kürzlich eine Verbesserung oder Fehlerbehebung hinzugefügt wurde, die dann von der Quelle heruntergeladen und installiert werden kann. Hier finden Sie auch Kompilierungs- und Installationsanweisungen. Bitte beachten Sie, dass Sie bei Auswahl dieser Aktualisierungsmethode vorsichtshalber möglicherweise eine Sicherungskopie Ihrer aktuellen Konfigurationsdateien/Sites/vhosts erstellen müssen.

Sie können die aktuell installierte Version wie folgt überprüfen:

# httpd -v [基于RedHat / CentOS的系统]
# apache2 -v [基于Debian / Ubuntu的系统]

5 Tipps zur Optimierung der Apache-Serverleistung

Als Faustregel gilt, sofern es keine andere Möglichkeit gibt, sich an die Update-Methode zu halten, die vom Paketmanager der von Ihnen gewählten Distribution bereitgestellt wird (yum update httpd oder aptitude Safe-Upgrade von Apache2, für CentOS bzw. Debian).

2. Wenn Sie einen Kernel vor 2.4 verwenden, denken Sie bitte sofort über ein Upgrade nach

Warum? Kernel-Versionen 2.4 und höher aktivieren standardmäßig den Kernel-Systemaufruf sendfile. Dies wiederum ermöglicht leistungsstarke Netzwerkdateiübertragungen (erforderlich im Zusammenhang mit der Webserver-Client-Kommunikation) und ermöglicht es Apache, statische Inhalte schneller bereitzustellen und die CPU-Auslastung durch gleichzeitige Lese- und Sendevorgänge zu reduzieren.

Der aktuell installierte Kernel kann mit dem folgenden Befehl angezeigt werden:

# uname -r

5 Tipps zur Optimierung der Apache-Serverleistung

Während dieser Vorgang nicht für Anfänger geeignet ist, ist das Aktualisieren des Kernels eine unterhaltsame Übung, um mehr über die Interna von Linux zu erfahren.

Wählen Sie das Multiprocessing-Modul (MPM), das am besten zu Ihrer Situation passt.

Tatsächlich ermöglicht MPM dies, indem es Ihnen ermöglicht, zu entscheiden, wie Sie Ihren Webserver so konfigurieren, dass er sich an einen Netzwerkport Ihres Computers bindet, Anfragen von Clients akzeptiert und verwendet Unterprozesse (und Threads oder ) zur Bearbeitung solcher Anfragen, wodurch die modularen Fähigkeiten von Apache erweitert werden.

Ab Version 2.4 stellt Apache drei verschiedene MPMs zur Auswahl, je nach Bedarf:

Der preforkMPM verwendet mehrere untergeordnete Prozesse, ohne dass ein Thread erstellt werden muss. Jeder Prozess verarbeitet jeweils eine Verbindung, ohne dass für jeden Prozess separate Threads erstellt werden. Ohne auf Details einzugehen, können wir sagen, dass dieses MPM nur beim Debuggen von Anwendungen verwendet wird oder wenn die Anwendung nicht-threadsichere Module wie mod_php verarbeiten muss.
Der WorkerMPM verwendet mehrere Threads pro untergeordnetem Prozess, und jeder Thread verarbeitet jeweils eine Verbindung. Dies ist eine gute Wahl für Server mit hohem Datenverkehr, da dadurch mehr gleichzeitige Verbindungen mit weniger RAM als im vorherigen Fall verarbeitet werden können.
Schließlich ist eventMPM das Standard-MPM in den meisten Apache-Installationen ab Version 2.4. Es ähnelt dem Worker-MPM darin, dass es ebenfalls mehrere Threads pro untergeordnetem Prozess erstellt, hat aber einen Vorteil: Es sorgt dafür, dass KeepAlive- oder Leerlaufverbindungen (solange sie in diesem Zustand bleiben) von einem einzelnen Thread verarbeitet werden, wodurch der Speicher freigegeben wird, der dafür zuständig ist anderen Threads zugewiesen werden. Dieses MPM ist nicht für die Verwendung mit nicht-threadsicheren Modulen wie mod_php geeignet und muss durch ein solches PHP-FPM ersetzt werden.

Um zu überprüfen, welches MPM Ihre Apache-Installation verwendet, können Sie Folgendes tun:

# httpd -V

Das Bild unten zeigt, dass dieser bestimmte Webserver Prefork-MPM verwendet.

5 Tipps zur Optimierung der Apache-Serverleistung

Um diese Einstellung zu ändern, müssen Sie Folgendes bearbeiten:

/etc/httpd/conf.modules.d/00-mpm.conf [RedHat/CentOS-basierte Systeme]
/etc/apache2/mods -available/load [Debian/Ubuntu-basierte Systeme]

Dies kann mpm_event, mpm_worker oder mpm_prefork sein. 🔜 Sie müssen das Paket libapache2-mod-fastcgi aus einem nicht-freien Repository installieren.

Außerdem benötigen Sie für CentOS php-fpm (zusammen mit fcgi und mod_fcgid), während es in Debian php5-fpm heißt (zusammen mit apache2-mpm-event).

Zu guter Letzt starten Sie den Webserver und den neu installierten php-fpm (oder php5-fpm)-Dienst neu:

Auf RedHat/CentOS

# systemctl restart httpd php-fpm && systemctl enable httpd php-fpm

Unter Debian/Ubuntu

# systemctl restart apache2 php5-fpm && systemctl enable apache2 php5-fpm

Während Sie Apache für die Verwendung eines bestimmten MPM einrichten können, können Sie dies auf die gleiche Weise wie zuvor beschrieben tun. Überschreiben Sie diese Konfiguration auf auf Basis pro virtuellem Host.

只需将相应的标签放入每个虚拟主机的配置文件中即可开始使用 - 但请确保每个虚拟主机使用一个且只有一个MPM。

最后,请注意,无论您选择的发行版如何,php-fpm都依赖于FastCGI的实现,这就是为什么我之前推荐了额外的软件包安装的原因。

有关php-fpm的更多详细信息和示例以及它如何与事件MPM一起提高Apache的性能,您应该参考官方文档。

这是我在上一张图片所示的同一个框中将默认MPM从prefork更改为event后所看到的:

5 Tipps zur Optimierung der Apache-Serverleistung

在CentOS 7中,您需要确保通过防火墙启用了http和https服务,并且网络接口已正确添加到默认区域。

例如:

# firewall-cmd --zone = internal --add-interface = tun6to4
# firewall-cmd --zone = internal --add-interface = tun6to4 --permanent
# firewall-cmd --set-default-zone = internal
# firewall-cmd --add-service = http
# firewall-cmd --add-service = https
# firewall-cmd --add-service = http --permanent
# firewall-cmd --add-service = https --permanent
# firewall-cmd --reload

我提出这个问题的原因是因为我最近遇到了一个问题,即云VPS 中的默认firewalld配置设置阻止了php-fpm和Apache处理php文件。

作为一个基本的测试(我相信你可以想到更复杂或更紧张的),我将创建一个php文件,检查是否存在另外test.php两个CentOS 7服务器的同一目录中具有相同硬件特性和负载的文件但是与不同的MPM。其中一个将使用事件,另一个将使用prefork:

5 Tipps zur Optimierung der Apache-Serverleistung

这是我保存到名为的文件的PHP代码checkiffileexists.php:

<?PHP
$ filename =‘test.php’;
if(file_exists($ filename)){
echo“文件$ filename存在”;
} else {
echo“文件$ filename不存在”;
}
?>

然后我们将运行Apache基准测试工具(ab),同时发出200个请求,直到2000个请求完成:

# ab -k -c 100 -n 2000 localhost/checkiffileexists.php

让我们运行测试并比较结果。注意性能统计:

5 Tipps zur Optimierung der Apache-Serverleistung

正如您所看到的,带有事件的服务器的性能在此测试的每个方面都高于其prefork对应物。

四、明智地为Apache分配RAM

也许最重要的硬件项是要为每个Apache进程分配的RAM量。虽然您无法直接控制它,但您可以通过MaxRequestWorkers指令(以前在Apache 2.2中称为MaxClients)限制子进程的数量,这将限制Apache对RAM的使用。同样,您可以在每个主机或每个虚拟主机的基础上设置此值。

要做到这一点,你应该注意Apache使用的平均RAM量,然后乘以MaxRequestWorkers的数量,这就是为Apache进程分配的内存量。您从不希望Web服务器做的一件事是开始使用swap,因为这会显着降低其性能。因此,您应始终将Apache的RAM使用限制在您能够承受的范围内,并且永远不要依赖交换。

例如,以下块将同时客户端的数量限制为30。如果有更多客户端访问主机,他们可能会遇到延迟或暂时故障,可以通过刷新浏览器轻松解决。虽然这可能被认为是不合需要的,但它对于服务器来说更健康,从长远来看,对您的网站也是最好的。

您可以将此块放在内部,/etc/httpd/conf/httpd.conf或者/etc/apache2/apache2.conf取决于您使用的是CentOS还是Debian。

请注意,同样的原则适用于所有MPM - 我在此处使用事件继续前面提示中概述的概

5 Tipps zur Optimierung der Apache-Serverleistung

五、了解您的应用程序

根据经验,您不应加载任何非严格需要的Apache模块才能运行。这至少需要了解服务器上运行的应用程序的全部知识,特别是如果您是系统管理员并且还有另一个负责开发的团队。

您可以列出当前加载的模块:

# httpd -M [基于RedHat / CentOS的系统]
# apache2ctl -M [基于Debian / Ubuntu的系统]

要卸载/禁用CentOS中的模块,您需要注释掉以LoadModule开头的行(在主配置文件中或在/etc/httpd/conf.modules.d中的辅助文件中)。

另一方面,Debian提供了一个名为a2dismod的工具来禁用模块,其用法如下:

# a2dismod module_name

要启用它:

# a2enmod module_name

在任何一种情况下,请记住重新启动Apache以使更改生效。

Zusammenfassung
In diesem Artikel haben wir 5 Tipps besprochen, die Ihnen dabei helfen, Ihren Apache-Webserver zu optimieren und seine Leistung zu verbessern. Darüber hinaus sollten Sie bedenken, dass Optimierung und Leistung ohne Sicherheit bedeutungslos sind. Lesen Sie daher möglicherweise „Installieren Sie mod_pagespeed, um die Webserverleistung zu verbessern“ und den Artikel „Apache-Härtungstipps“ von Tecmint.com.

Verwandte Empfehlungen: Apache-Tutorial

Das obige ist der detaillierte Inhalt von5 Tipps zur Optimierung der Apache-Serverleistung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1532
276
Wie kann ich PHP -Code nach dem Schreiben von PHP -Code ausführen? Mehrere gemeinsame Möglichkeiten, um PHP -Code auszuführen Wie kann ich PHP -Code nach dem Schreiben von PHP -Code ausführen? Mehrere gemeinsame Möglichkeiten, um PHP -Code auszuführen May 23, 2025 pm 08:33 PM

Der PHP -Code kann auf viele Arten ausgeführt werden: 1. Verwenden Sie die Befehlszeile, um den "PHP -Dateinamen" direkt einzugeben, um das Skript auszuführen. 2. Einlegen Sie die Datei in das Dokument -Root -Verzeichnis und greifen Sie über den Browser über den Webserver darauf zu. 3. Führen Sie es in der IDE aus und verwenden Sie das integrierte Debugging-Tool. V.

So aktualisieren Sie Debian Tomcat So aktualisieren Sie Debian Tomcat May 28, 2025 pm 04:54 PM

Das Aktualisieren der Tomcat -Version im Debian -System enthält im Allgemeinen den folgenden Vorgang: Vor der Durchführung des Update -Vorgangs stellen Sie sicher, dass Sie die vorhandene Tomcat -Umgebung vollständig erfüllen. Dies deckt den Ordner /opt /tomcat und seine zugehörigen Konfigurationsdokumente wie Server.xml, context.xml und web.xml ab. Die Sicherungsaufgabe kann über den folgenden Befehl ausgeführt werden: SudoCP-R/Opt/Tomcat/Opt/tomcat_backup erhalten Sie die neue Version Tomcat, um die offizielle Website von Apachetomcat zu erhalten, um die neueste Version herunterzuladen. Laut Ihrem Debian -System

Was sind die SEO -Optimierungstechniken für Debian Apache2? Was sind die SEO -Optimierungstechniken für Debian Apache2? May 28, 2025 pm 05:03 PM

Die SEO -Optimierungsfähigkeiten von Debianapache2 decken mehrere Ebenen ab. Hier sind einige Schlüsselmethoden: Keyword Research: Verwenden Sie Tools (z. B. Magic Tools), um die Kern- und Hilfsschlüsselwörter der Seite zu ermitteln. Hochwertige Inhaltserstellung: Erstellen Sie wertvolle und originelle Inhalte, und der Inhalt muss detailliert durchgeführt werden, um eine reibungslose Sprache und ein klares Format zu gewährleisten. Inhaltslayout und Strukturoptimierung: Verwenden Sie Titel und Untertitel, um das Lesen zu leiten. Schreiben Sie prägnante und klare Absätze und Sätze. Verwenden Sie die Liste, um Schlüsselinformationen anzuzeigen. Kombination von Multimedien wie Bildern und Videos, um die Expression zu verbessern. Das leere Design verbessert die Lesbarkeit des Textes. Technische Ebene SEO -Verbesserung: Robots.txt -Datei: Gibt die Zugriffsrechte von Suchmaschinencrawlern an. Beschleunigung der Webseite Beschleunigen Sie Lade: Optimiert mit Hilfe des Caching -Mechanismus und Apache -Konfiguration

Was sind die Debian Hadoop -Überwachungstools? Was sind die Debian Hadoop -Überwachungstools? May 23, 2025 pm 09:57 PM

Es gibt viele Methoden und Tools zur Überwachung von Hadoop -Clustern auf Debian -Systemen. Im Folgenden finden Sie einige häufig verwendete Überwachungstools und deren Nutzungsmethoden: Hadoops eigenes Überwachungsinstrument Hadoopadminui: Zugriff auf die Hadoopadminui -Schnittstelle über einen Browser, um den Clusterstatus und die Ressourcenauslastung intuitiv zu verstehen. HadoopresourceManager: Greifen Sie auf das Ressourcenmanager-Webui (normalerweise http: // ressourcenemanager-ip: 8088) zu, um die Verwendung von Cluster-Ressourcen und den Jobstatus zu überwachen. Hadoop

Analyse der Gründe, warum der Dienst nach der Installation von Apache nicht beginnen kann Analyse der Gründe, warum der Dienst nach der Installation von Apache nicht beginnen kann May 19, 2025 pm 07:24 PM

Die Hauptgründe, warum der Apache -Dienst nicht gestartet werden kann, sind Konfigurationsdateifehler, Portkonflikte und Berechtigungen. 1. Konfigurationsdateifehler: Überprüfen Sie httpd.conf oder apache2.conf und verwenden Sie das ApachektlConFigTest -Tool. 2. Hafenkonflikt: Änderung der Höranweisungen wie Listen8080 und Aktualisierung der Firewall -Regeln. 3.. Berechtigungen Ausgabe: Stellen Sie sicher, dass Apache über ausreichende Berechtigungen verfügt, Verzeichnisberechtigungen anpassen oder Benutzer ausführen.

Verwendung der Oracle -Datenbankintegration mit Hadoop in Big Data -Umgebung Verwendung der Oracle -Datenbankintegration mit Hadoop in Big Data -Umgebung Jun 04, 2025 pm 10:24 PM

Der Hauptgrund für die Integration von Oracle-Datenbanken in Hadoop besteht darin, die leistungsstarken Datenverwaltungs- und Transaktionsverarbeitungsfunktionen von Oracle sowie die groß angelegten Datenspeicher- und Analysefunktionen von Hadoop zu nutzen. Zu den Integrationsmethoden gehören: 1. Exportdaten von OracleBigDataconnector nach Hadoop; 2. Verwenden Sie Apachesqoop für die Datenübertragung; 3.. Lesen Sie Hadoop -Daten direkt durch die externe Tabellenfunktion von Oracle. 4. Verwenden Sie OracleGoldeGate, um die Datensynchronisation zu erreichen.

Konfiguration und Verwaltung von Apache-Koexistenzinstallation mit mehreren Versionen Konfiguration und Verwaltung von Apache-Koexistenzinstallation mit mehreren Versionen May 21, 2025 pm 10:51 PM

Multi-Version-Apache-Koexistenz kann in den folgenden Schritten erreicht werden: 1. Installieren Sie verschiedene Versionen von Apache in verschiedenen Verzeichnissen; 2. Konfigurieren Sie unabhängige Konfigurationsdateien und Hörports für jede Version. 3.. Verwenden Sie virtuelle Hosts, um verschiedene Versionen weiter zu isolieren. Über diese Methoden können mehrere Apache -Versionen auf demselben Server effizient ausgeführt werden, um den Anforderungen verschiedener Projekte zu erfüllen.

Füllen Sie das Tutorial zum Konfigurieren eines Apache -Servers für PHPSTORM aus Füllen Sie das Tutorial zum Konfigurieren eines Apache -Servers für PHPSTORM aus May 20, 2025 pm 07:57 PM

Das Konfigurieren des Apache -Servers in PHPSTORM muss sichergestellt werden, dass Apache installiert und ausgeführt wird, dann den PHP Interpreter Path und den Webserver -Bereitstellungspfad in PHPSTORM festgelegt und schließlich die Apache -Konfigurationsdatei bearbeiten, um den Eintrag VirtualHost hinzuzufügen und Apache neu zu starten. Zu den spezifischen Schritten gehören: 1.. Stellen Sie sicher, dass Apache installiert und ausgeführt wird; 2. Setzen Sie den PHP -Interpreter -Pfad in PHPStorm; 3. Setzen Sie den Webserver -Bereitstellungspfad. 4. Bearbeiten Sie die Apache -Konfigurationsdatei, um virtuelle Einträge hinzuzufügen. 5. Starten Sie den Apache -Server neu.

See all articles