Teil 1 | Teil 3 | Teil 4


 

Übersicht:

  • Vorbereiten des Servers
  • Repositories hinzufügen
  • Pakete installieren
  • PHP konfigurieren
  • MariaDB konfigurieren
  • NGINX konfigurieren
  • Abschluss

 

1. Vorbereiten des Servers

Zuerst sollte [DIESEM] Guide gefolgt werden, um nicht benötigte Pakete zu deinstallieren, um ggf. Komplikationen zu vermeiden (z.B. wenn Apache schon vorinstalliert ist), um Pakete auf den neuesten Stand zu bringen und um das System etwas mehr abzusichern.

Anschließend sollte die „Swappiness“ gesetzt werden. Diese definiert, wie das System mit Arbeitsspeicher umgehen soll. Die vm.swappiness ist ein Wert zwischen 0 und 100. Ist der Wert <50 wird Linux versuchen, Daten größtenteils in den RAM auszulagern und nicht mehr benötigte Daten daraus zu entfernen. Ist der Wert >50 werden Daten eher in den Swap ausgelagert, daher auf die Festplatte / SSD. Aber auch eine High End SSD ist „langsamer“ als DDR3 RAM und da wir einen High Performance Server aufsetzen möchte, kommt Swap nicht in Frage, weshalb die vm.swappiness auf 0 gesetzt wird, wodurch der Swap i.d.R. gar nicht mehr genutzt werden wird.

nano /etc/sysctl.conf

Am Ende der Datei folgende Zeile anhängen:

vm.swappiness=0

Die Datei speichern und nano schließen. Dass die Änderung übernommen wird, muss das System neugestartet werden:

reboot

Danach sollte kein Swap mehr genutzt werden, stattdessen der RAM umso mehr:

2. Repositories hinzufügen

Da natürlich die möglichst neueste, stabile Version der einzelnen Pakete genutzt werden sollte, müssen hierfür noch ein paar Quellen hinzugefügt werden:

NGINX

wget http://nginx.org/keys/nginx_signing.key

apt-key add nginx_signing.key

rm nginx_signing.key

nano /etc/apt/sources.list

Folgende Zeilen anhängen:

deb http://nginx.org/packages/mainline/[Debian / Dbuntu]/ [codename] nginx
deb-src http://nginx.org/packages/mainline/[Debian / Ubuntu]/ [codename] nginx

Für Debian 7 (Wheezy) müsste also Folgendes angehängt werden:

deb http://nginx.org/packages/mainline/debian/ wheezy nginx
deb-src http://nginx.org/packages/mainline/debian/ wheezy nginx

MariaDB

Auf [DIESER] Seite die Distribution, deren Version, die gewünschte MariaDB Version (10.0) und den Mirror wählen. Anschließend werden die auszuführenden Befehle angezeigt.

PHP (nur für Debian!)

Ubuntu Nutzer überspringen diesen Schritt, da in den Ubuntu Repositories bereits recht neue PHP Pakete vorhanden sind.

wget http://www.dotdeb.org/dotdeb.gpg

apt-key add dotdeb.gpg

rm dotdeb.gpg

nano /etc/apt/sources.list

Folgende Zeile anhängen:

deb http://packages.dotdeb.org wheezy-php56 all
deb-src http://packages.dotdeb.org wheezy-php56 all

Weitere Infos siehe [HIER].

3. Pakete installieren

apt-get update

apt-get install nginx php5-fpm php5-mysql mariadb-server

Beim Prompt ein sicheres Passwort für den MariaDB Root User festlegen.

4. PHP konfigurieren

nano /etc/php5/fpm/pool.d/www.conf

Hier

listen = /var/run/php5-fpm.sock

durch

listen = localhost:9000

ersetzen, speichern und schließen.

5. MariaDB konfigurieren

mysql_install_db

mysql_secure_installation

Das MariaDB Root Passwort eingeben, den ersten Prompt verneinen, alle Weiteren per Enter bejahen.

mysql -u root -p[MDB Root Passwort]

create database [Name für neue WordPress Datenbank];

create user [Name für neuen Nutzer]@localhost identified by ‚[Passwort für neuen Nutzer]‘;

grant all privileges on [Name der neuen Datenbank].* to [Name des neuen Nutzers]@localhost;

flush privileges;

exit

Wer einen WordPress Datenbank-Dump hat, kann diesen nun in die neue WP Datenbank per

mysql -u root -p[MDB Root Passwort] [Name der neuen Datenbank] < [Name des SQL Dumps]

einlesen lassen.

6. NGINX konfigurieren

nproc

ulimit -n

nginxconf1

nano /etc/nginx/nginx.conf

Hier den Output von „nproc“ in der nginx.conf hinter „worker_processes“ packen. Den Output von „ulimit -n“ hinter „worker_connections“.

nginxconf2

Desweiteren den Inhalt des folgenden Spoilers in die Datei einfügen:

Spoiler

tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 10s;
types_hash_max_size 2048;
server_names_hash_bucket_size 64;

gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 9;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json
applicationx-javascript text/xml application/xml
application/xml+rss text/javascript;

[collapse]

Hierbei darauf achten, das bereits vorhandene „keepalive_timeout“ zu entfernen, da es ansonsten 2 mal definiert wird.

7. Abschluss

service nginx restart

service mariadb-server restart

service php5-fpm restart

[HowTo] High Performance WordPress Server aufsetzen | Teil 2
Markiert in:                                                                                                                                                                                                                                                                                 

Ein Gedanke zu „[HowTo] High Performance WordPress Server aufsetzen | Teil 2

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*