Resource Pools
Danach gilt es, die PHP-FPM-Konfiguration an die Hosting-Umgebung anzupassen. Die PHP-Interpreter, die Nginx zur Verfügung stehen, sind in einem Ressource Pool zusammengefasst. Die Konfiguration dieses Pools bestimmt unter anderem, wie viele Prozesse starten und auf welchem Port PHP-FPM auf Verbindungen wartet. Je nachdem, über welchen Port Nginx mit PHP-FPM kommuniziert, lassen sich auf diese Weise unterschiedliche Pools ansprechen. Das spielt für diesen Artikel aber keine Rolle, da nur ein Pool für den Magento-Shop anzulegen ist. Wer mehrere Websites auf demselben System betreibt, kann diesen aber jeweils einen eigenen Ressource Pool zuweisen.
Debian und Ubuntu speichern die Konfigurationen für Resource Pools im Verzeichnis »/etc/php5/fpm/pool.d/«
. PHP-FPM liest bei einem Neustart alle Dateien darin, die auf ».conf«
enden, und stellt die entsprechenden Ressourcen bereit. Listing 2 zeigt die Konfiguration für den Pool »magento«
.
Listing 2
Ressource-Pool-Konfiguration
01 [magento] 02 ; IP und Port für den Ressource Pool 03 listen = 127.0.0.1:9000 04 05 ; Systembenutzer und Gruppe 06 user = www-data 07 group = www-data 08 09 ; dynamische Prozessanzahl 10 pm = dynamic 11 12 ; maximale Anzahl PHP Interpreter 13 ; und maximale Anzahl gleichzeitiger Requests 14 pm.max_children = 96 15 16 ; initiale Anzahl der PHP Interpreter 17 pm.start_servers = 16 18 pm.min_spare_servers = 10 19 pm.max_spare_servers = 70
Dem Beispielserver für diesen Artikel stehen 16 GByte Arbeitsspeicher zur Verfügung. Die Angabe »pm.max_children«
definiert, wie viele PHP-Interpreter maximal laufen dürfen (Zeile 14). Ähnlich wie bei einem Apache-Webserver, der mit Prefork-MPM arbeitet, ist dies auch die maximal mögliche Anzahl gleichzeitiger Verbindungen. Das auf 128 MByte gesetzte »memory_limit«
sorgt dafür, dass PHP-Prozesse maximal 96 * 128 MByte Arbeitsspeicher belegen, in Summe also rund 12 GByte. Somit bleiben 4 GByte für andere Prozesse auf dem System übrig.
Nginx-Host definieren
Die Konfigurationsdateien für Nginx-Sites liegen bei Debian und Ubuntu im Verzeichnis »/etc/nginx/sites-available/«
. Dort befindet sich nach der Installation bereits die Datei »default«
, sie dient als Grundlage für die Konfiguration des Magento-Shops. Nach einigen Anpassungen sieht sie aus wie in Listing 3, das die Einträge in den Kommentarzeilen erläutert.
Listing 3
Host-Konfiguration für Nginx
01 server {
02 listen 80;
03 server_name localhost;
04 root /var/www/html/;
05 autoindex off;
06
07 # Gzip-Komprimierung
08 gzip on;
09 gzip_min_length 1100;
10 gzip_buffers 4 8k;
11 gzip_proxied any;
12 gzip_types text/plain text/css application/x-javascript text/javascript application/json;
13
14 location / {
15 index index.php;
16 try_files $uri $uri/ @handler;
17 expires 30d;
18 }
19
20
21 # .htaccess-Schutz ersetzen
22 location ~ (/(app/|includes/|lib/|/pkginfo/|var/|report/config.xml)|/\.svn/|/.hta.+) {
23 deny all;
24 }
25
26 # statische Dateien direkt ausliefern
27 location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
28 access_log off;
29 expires 30d;
30 root /var/www/html/;
31 }
32
33 # / an den Magento-Frontcontroller weiterleiten
34 location @handler {
35 rewrite / /index.php;
36 }
37
38 # PHP an PHP-FPM weiterreichen
39 location ~ \.php$ {
40 if (!-e $request_filename) { rewrite / /index.php last; }
41
42 expires off;
43 fastcgi_pass 127.0.0.1:9000;
44 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
45 include /etc/nginx/fastcgi_params;
46 }
47 }
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 5 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





