Optimieren eines dedizierten virtuellen Webservers

May 22, 2025
Privatsphäre und Sicherheit
UNCACHED INHALT

Wenn Sie einen dedizierten virtuellen Server zum Ausführen Ihrer Website erhalten, stehen die Chancen gut, dass er für alle Benutzer konfiguriert und nicht angepasst ist, um die Leistung beim Ausführen einer Website zu maximieren.

Inhalt

[ ausblenden ]

  • 1. Übersicht
  • 2 Linux Configuration
    • 2.1 Deaktivieren Sie DNS
    • 2.2 Deaktivieren Sie SpamAssassin
    • 2.3 Deaktivieren Sie xinetd
    • 2.4 Plesk-Speichernutzung begrenzen
    • 2.5 Plesk deaktivieren oder deaktivieren (optional)
  • 3 MySQL-Konfiguration
    • 3.1 Abfrage-Cache aktivieren
    • 3.2 Deaktivieren Sie TCP / IP
  • 4 Apache-Konfiguration
  • 5 PHP-Konfiguration
    • 5.1 Entfernen Sie nicht benötigte PHP-Module
    • 5.2 PHP-Opcode-Cache
  • 6 Backups
    • 6.1 Automatisches Sicherungsskript erstellen
    • 6.2 Synchronisieren von Backups außerhalb des Standorts mit Rsync
  • 7 Sicherheit
    • 7.1 Deaktivieren Sie die Root-Anmeldung über SSH
    • 7.2 SSH Version 1 deaktivieren
    • 7.3 Starten Sie den SSH-Server neu
    • 7.4 Auf offene Ports prüfen
    • 7.5 Firewall einrichten
  • 8 Siehe auch
  • 9 Referenzen

Überblick

Es gibt eine Reihe von Problembereichen, in denen wir die Leistung maximieren möchten:

  • Linux configuration
    In der Regel werden Dienste ausgeführt, die nicht ausgeführt werden müssen. Dabei wird Speicherplatz verschwendet, der für weitere Verbindungen verwendet werden kann.
  • MySQL-Konfiguration
    Oft basieren die Standardeinstellungen auf einem kleinen Server. Wir können einige wichtige Änderungen hinzufügen, um die Leistung erheblich zu steigern.
  • Apache-Konfiguration
    Standardmäßig installieren die meisten Hosting-Anbieter Apache mit fast jedem installierten Modul. Es gibt keinen Grund, Module zu laden, wenn Sie sie nie verwenden werden.
  • PHP-Konfiguration
    Die Standard-PHP-Konfiguration ist ähnlich aufgebläht. In der Regel sind eine Menge unnötiger zusätzlicher Module installiert.
  • PHP Opcode Cache
    Anstatt PHP zu erlauben, die Skripte jedes Mal neu zu kompilieren, werden die kompilierten Skripte durch einen Opcode-Cache im Speicher zwischengespeichert, um die Leistung erheblich zu steigern.
  • Backups
    Sollte wahrscheinlich einige automatisierte Backups einrichten, da Ihr Hosting-Anbieter dies nicht für Sie tun wird.
  • Sicherheit
    Sicher, Linux ist standardmäßig sicher genug, aber normalerweise gibt es einige offensichtliche Sicherheitsprobleme, die Sie mit ein paar schnellen Einstellungen beheben können.

Linux Configuration

Sie können eine Reihe von Optimierungen vornehmen, die je nach verwendetem Server geringfügig variieren. Diese Optimierungen gelten für einen Server mit CentOS, sollten jedoch für die meisten DV-Server funktionieren.

Deaktivieren Sie DNS

Wenn Ihr Hosting-Anbieter das DNS für Ihre Domain verwaltet (wahrscheinlich), können Sie die Ausführung des DNS-Dienstes deaktivieren.

DNS deaktivieren
/etc/init.d/named stop
chmod 644 /etc/init.d/named

Der Befehl chmod entfernt die Ausführungsberechtigung aus dem Skript und verhindert, dass es beim Start ausgeführt wird.

Deaktivieren Sie SpamAssassin

Wenn Sie auf Ihrem Server selbst keine E-Mail-Konten verwenden, sollten Sie sich nicht die Mühe machen, Anti-Spam-Tools auszuführen. (Außerdem sollten Sie sich Google Apps ansehen, eine viel bessere E-Mail-Lösung.)

/etc/init.d/psa-spamassassin stop
chmod 644 /etc/init.d/psa-spamassassin

Deaktivieren Sie xinetd

Der xinetd-Prozess enthält eine Reihe anderer Prozesse, von denen keiner für einen typischen Webserver nützlich ist.

/etc/init.d/xinetd stop
chmod 644 /etc/init.d/xinetd

Begrenzen Sie die Plesk-Speichernutzung

Wenn Sie das plesk-Bedienfeld verwenden, können Sie durch Hinzufügen einer Optionsdatei erzwingen, dass weniger Speicher benötigt wird.

vi /usr/local/psa/admin/conf/httpsd.custom.include

Fügen Sie der Datei die folgenden Zeilen hinzu:

MinSpareServers 1 
MaxSpareServers 1 
StartServers 1 
MaxClients 5

Beachten Sie, dass diese Option auf MediaTemple DV-Servern funktioniert, auf anderen jedoch nicht aktiviert wurde. (Sehen Verweise )

Plesk deaktivieren oder deaktivieren (optional)

Wenn Sie Plesk nur einmal im Jahr verwenden, gibt es kaum einen Grund, es überhaupt laufen zu lassen. Beachten Sie, dass dieser Schritt völlig optional und etwas fortgeschrittener ist.

Führen Sie den folgenden Befehl aus, um plesk zu deaktivieren:

/etc/init.d/psa stop

Sie können die Ausführung beim Start deaktivieren, indem Sie den folgenden Befehl ausführen:

chmod 644 /etc/init.d/psa

Wenn Sie es deaktivieren, können Sie es nicht manuell starten, ohne die Dateiberechtigungen zurück zu ändern (chmod u + x).

MySQL-Konfiguration

Aktivieren Sie den Abfrage-Cache

Öffnen Sie Ihre Datei /etc/my.cnf und fügen Sie die folgenden Zeilen wie folgt in Ihren [mysqld]-Abschnitt ein:

[mysqld]
Abfrage-Cache-Typ = 1
Abfrage-Cache-Größe = 8M

Sie können dem Abfragecache mehr Speicher hinzufügen, wenn Sie möchten, aber nicht zu viel verwenden.

Deaktivieren Sie TCP / IP

Eine überraschende Anzahl von Hosts ermöglicht standardmäßig den Zugriff auf MySQL über TCP / IP, was für eine Website keinen Sinn macht. Sie können herausfinden, ob MySQL TCP / IP überwacht, indem Sie den folgenden Befehl ausführen:

netstat -an | grep 3306

Fügen Sie zum Deaktivieren der Datei /etc/my.cnf die folgende Zeile hinzu:

Skip-Networking

Apache-Konfiguration

Öffnen Sie Ihre httpd.conf-Datei, die häufig unter /etc/httpd/conf/httpd.conf zu finden ist

Finden Sie die Linie, die so aussieht:

Zeitüberschreitung 120

Und ändern Sie es in dieses:

Zeitüberschreitung 20

Suchen Sie nun den Abschnitt, der diese Zeilen enthält, und passen Sie ihn an etwas Ähnliches an:

StartServer 2
MinSpareServer 2
MaxSpareServer 5
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 4000

PHP-Konfiguration

Eines der Dinge, die Sie beim Optimieren eines Servers auf der PHP-Plattform beachten sollten, ist, dass jeder einzelne Apache-Thread PHP an einem separaten Speicherort im Speicher lädt. Dies bedeutet, wenn ein nicht verwendetes Modul PHP 256 KB Speicher hinzufügt, verschwenden Sie über 40 Apache-Threads 10 MB Speicher.

Entfernen Sie nicht benötigte PHP-Module

Sie müssen Ihre php.ini-Datei suchen, die sich normalerweise unter /etc/php.ini befindet. (Beachten Sie, dass es bei einigen Distributionen ein Verzeichnis /etc/php.d/ mit einer Reihe von INI-Dateien gibt. eine für jedes Modul.

Kommentieren Sie alle Lademodulzeilen mit diesen Modulen aus:

  • odbc
  • snmp
  • pdo
  • odbc pdo
  • Mysqli
  • Ioncube-Lader
  • json
  • imap
  • ldap
  • Flüche

Todo: Fügen Sie hier weitere Informationen hinzu.

PHP Opcode Cache

Es gibt eine Reihe von Opcode-Caches, die Sie verwenden können, einschließlich APC, eAccelerator und Xcache, wobei der letzte aufgrund der Stabilität meine persönliche Präferenz ist.

Laden Sie xcache herunter, extrahieren Sie es in ein Verzeichnis und führen Sie die folgenden Befehle aus dem xcache-Quellverzeichnis aus:

phpize
./configure --enable-xcache
machen
make install

Öffnen Sie Ihre Datei php.ini und fügen Sie einen neuen Abschnitt für xcache hinzu. Sie müssen die Pfade anpassen, wenn Ihre PHP-Module von einem anderen Ort geladen werden.

vi /etc/php.ini

Fügen Sie der Datei den folgenden Abschnitt hinzu:

[xcache-common]
zend_extension = /usr/lib/php/modules/xcache.so
[xcache.admin]
xcache.admin.user = "meinBenutzername"
xcache.admin.pass = "putanmd5hashhere"
[xcache]
;; Ändern Sie xcache.size, um die Größe des Opcode-Cache anzupassen
xcache.size = 16M
xcache.shm_scheme = "mmap"
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
;; Ändern Sie xcache.var_size, um die Größe des variablen Caches anzupassen
xcache.var_size = 1M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Aus
xcache.readonly_protection = Ein
xcache.mmap_path = "/ tmp / xcache"
xcache.coredump_directory = ""
xcache.cacher = Ein
xcache.stat = Ein
xcache.optimizer = Aus

Todo: Muss dies ein wenig erweitern und in den Referenzen auf xcache verlinken.

Backups

Es gibt kaum etwas Wichtigeres als automatisierte Sicherungen Ihrer Website. Möglicherweise können Sie Snapshot-Backups von Ihrem Hosting-Anbieter erhalten, die ebenfalls sehr nützlich sind, aber ich bevorzuge auch automatisierte Backups.

Erstellen Sie ein automatisiertes Sicherungsskript

Normalerweise beginne ich mit dem Erstellen eines / backups-Verzeichnisses mit einem / backups / files-Verzeichnis darunter. Sie können diese Pfade anpassen, wenn Sie möchten.

mkdir -p / backups / files

Erstellen Sie nun ein backup.sh-Skript im Sicherungsverzeichnis:

vi /backups/backup.sh

Fügen Sie der Datei Folgendes hinzu und passen Sie die Pfade und das mysqldump-Kennwort nach Bedarf an:

#! / bin / sh

THEDATE = "Datum +% d% m% y% H% M"

mysqldump -uadmin -pPASSWORD DATABASENAME> /backups/files/dbbackup$THEDATE.bak

tar -cf /backups/files/sitebackup$THEDATE.tar / var / www / vhosts / my-website-path / httpdocs
gzip /backups/files/sitebackup$THEDATE.tar

find / backups / files / site * -mtime +5 -exec rm {} \;
find / backups / files / db * -mtime +5 -exec rm {} \;

Das Skript erstellt zuerst eine Datumsvariable, sodass alle Dateien für eine einzelne Sicherung gleich benannt werden, speichert dann die Datenbank, tariert die Webdateien und komprimiert sie. Mit den Suchbefehlen werden alle Dateien entfernt, die älter als 5 Tage sind, da Ihr Laufwerk nicht über genügend Speicherplatz verfügen soll.

Machen Sie das Skript ausführbar, indem Sie den folgenden Befehl ausführen:

chmod u + x /backups/backup.sh

Als Nächstes müssen Sie es so zuweisen, dass es automatisch von cron ausgeführt wird. Stellen Sie sicher, dass Sie ein Konto verwenden, das Zugriff auf das Sicherungsverzeichnis hat.

crontab -e

Fügen Sie der Crontab die folgende Zeile hinzu:

1       1       *       *       *       /backups/backup.sh

Sie können das Skript vorab testen, indem Sie es ausführen, während Sie am Benutzerkonto angemeldet sind. (Ich führe die Backups normalerweise als root aus)

Synchronisieren Sie Backups außerhalb des Standorts mit Rsync

Nachdem Sie automatische Sicherungen Ihres Servers ausgeführt haben, können Sie diese mithilfe des Dienstprogramms rsync an einer anderen Stelle synchronisieren. In diesem Artikel erfahren Sie, wie Sie SSH-Schlüssel für die automatische Anmeldung einrichten: Hinzufügen eines öffentlichen SSH-Schlüssels zum Remote-Server in einem einzigen Befehl

Sie können dies testen, indem Sie diesen Befehl auf einem Linux- oder Mac-Computer an einem anderen Ort ausführen (ich habe einen Linux-Server zu Hause, auf dem ich diesen ausführe).

rsync -a [email protected]: / backups / files / * / offsitebackups /

Die erstmalige Ausführung dauert einige Zeit, aber am Ende sollte Ihr lokaler Computer eine Kopie des Dateiverzeichnisses im Verzeichnis / offsitebackups / haben. (Stellen Sie sicher, dass Sie dieses Verzeichnis erstellen, bevor Sie das Skript ausführen.)

Sie können dies planen, indem Sie es einer Crontab-Zeile hinzufügen:

crontab -e

Fügen Sie die folgende Zeile hinzu, die jede Stunde nach 45 Minuten rsync ausführt. Sie werden feststellen, dass wir hier den vollständigen Pfad zum Rsync verwenden.

45 * * * * / usr / bin / rsync -a [email protected]: / backups / files / * / offsitebackups /

Sie können festlegen, dass es zu einer anderen Zeit oder nur einmal pro Tag ausgeführt wird. Das liegt ganz bei Ihnen.

Beachten Sie, dass es viele Dienstprogramme gibt, mit denen Sie über ssh oder ftp synchronisieren können. Sie müssen rsync nicht verwenden.

Sicherheit

Das erste, was Sie tun möchten, ist sicherzustellen, dass Sie ein reguläres Benutzerkonto haben, das Sie über ssh verwenden können, und dass Sie su verwenden können, um zu root zu wechseln. Es ist eine sehr schlechte Idee, die direkte Anmeldung für root over ssh zuzulassen.

Deaktivieren Sie die Root-Anmeldung über SSH

Bearbeiten Sie die Datei / etc / ssh / sshd_config und suchen Sie nach der folgenden Zeile:

#PermitRootLogin ja

Ändern Sie diese Zeile so, dass sie folgendermaßen aussieht:

PermitRootLogin-Nr

Stellen Sie sicher, dass Sie über ein reguläres Benutzerkonto verfügen und sich vor dieser Änderung als Root anmelden können. Andernfalls können Sie sich selbst sperren.

Deaktivieren Sie SSH Version 1

Es gibt wirklich keinen Grund, etwas anderes als SSH Version 2 zu verwenden, da es sicherer ist als frühere Versionen. Bearbeiten Sie die Datei / etc / ssh / sshd_config und suchen Sie den folgenden Abschnitt:

#Protokoll 2,1
Protokoll 2

Stellen Sie sicher, dass Sie nur Protokoll 2 wie gezeigt verwenden.

Starten Sie den SSH-Server neu

Jetzt müssen Sie den SSH-Server neu starten, damit dies wirksam wird.

/etc/init.d/sshd Neustart

Suchen Sie nach offenen Ports

Mit dem folgenden Befehl können Sie sehen, welche Ports der Server überwacht:

netstat -an | Griff HÖREN

Sie sollten wirklich nichts anderes als die Ports 22, 80 und möglicherweise 8443 für plesk abhören lassen.

Richten Sie eine Firewall ein

Sie können optional eine iptables-Firewall einrichten, um weitere Verbindungen zu blockieren. Beispielsweise blockiere ich normalerweise den Zugriff auf andere Ports als mein Arbeitsnetzwerk. Wenn Sie eine dynamische IP-Adresse haben, sollten Sie diese Option vermeiden.

Wenn Sie bereits alle Schritte in diesem Handbuch ausgeführt haben, ist es wahrscheinlich nicht erforderlich, dem Mix auch eine Firewall hinzuzufügen, aber es ist gut, Ihre Optionen zu verstehen.

Siehe auch

  • Verwenden von Iptables unter Linux

Verweise

.eintragsinhalt .Eintrittsfußzeile

Setting Up Virtual Hosts For The Apache Web Server - Tutorial

WHM Dedicated Server Configuration 3

Setting Up A Dedicated Server For A Multiplayer Game In Unity

WHM Bangla Tutorial Dedicated Server Configuration 2

Valheim Dedicated Server Setup | Host A FREE Private Server

How To Deploy A Cloud Dedicated Server With Free InterWorx - Host Unlimited Accounts

Set Up A Simple Web Server At Home In Under 10 Minutes Using Windows And WAMP

How To Setup A Cloud Dedicated Server W/InterWorx & Add Your Website, Name Servers, & Hostname SSL


Privatsphäre und Sicherheit - Die beliebtesten Artikel

Wie DNS über HTTPS (DoH) den Online-Datenschutz verbessert

Privatsphäre und Sicherheit Nov 20, 2024

Anci Valiart/Shutterstock.com Unternehmen wie Microsoft, Google und Mozilla treiben DNS über HTTPS (DoH) voran. Diese Technologie verschlüsselt..


Nur neue CPUs können ZombieLoad und Spectre wirklich reparieren

Privatsphäre und Sicherheit May 16, 2025

RMIKKA/Shutterstock Aktuelle CPUs weisen Designfehler auf. Spectre hat sie entlarvt, aber Angriffe wie Foreshadow und jetzt ZombieLoad nutzen äh..


So erstellen Sie einen Alias ​​für Ihre iCloud-E-Mail-Adresse

Privatsphäre und Sicherheit Apr 12, 2025

Die Verwendung eines iCloud-E-Mail-Alias ​​ist eine hervorragende Möglichkeit, Ihre echte E-Mail-Adresse zu verschleiern. Sie können bei der Anmeldung für Newsletter oder Web..


Sechs Dinge, die Sie vor der Installation eines Smart Lock beachten sollten

Privatsphäre und Sicherheit Dec 21, 2024

Intelligente Schlösser bieten viel Komfort beim Verlassen und Betreten Ihres Hauses. Es gibt jedoch einige Dinge, die Sie beachten sollten, bevor Sie eines an Ihrer eigenen Tür in..


So leiten Sie Ports auf Ihrem Router weiter

Privatsphäre und Sicherheit Dec 9, 2024

Obwohl moderne Router die meisten Funktionen automatisch ausführen, müssen Sie bei einigen Anwendungen einen Port manuell an diese Anwendung oder dieses Gerät weiterleiten. Glüc..


So verwenden Sie das private Surfen, um Ihre Titel auf Android auszublenden

Privatsphäre und Sicherheit Jul 12, 2025

Beim privaten Surfen können Sie im Internet surfen, ohne Informationen zu Ihrem Browser- und Download-Verlauf, Cookies, Formulardaten oder Suchverlauf zu speichern. Für PCs verfü..


So entfernen Sie Internet Security 2010 und andere Rogue / Fake Antivirus-Malware

Privatsphäre und Sicherheit Sep 18, 2025

UNCACHED INHALT Wenn Sie einen mit Internet Security 2010 infizierten PC haben, lesen Sie wahrscheinlich diesen Artikel, damit Sie verstehen, wie Sie ihn entfernen können. Zum Glück haben..


So sperren Sie Ihr Facebook-Konto

Privatsphäre und Sicherheit Dec 20, 2024

UNCACHED INHALT Mit Facebook können Sie auf jeden Fall problemlos mit anderen kommunizieren. Wenn Sie jedoch nicht aufpassen, können bestimmte Informationen, die Sie privat halten möchte..


Kategorien