Site icon bintorosoft.com

Magento Stack: Performance-Setup mit Nginx, Redis und Varnish

Surreal 3D of a Fox Character Software Developer Standing Next to a Giant Computer Monitor Filled with Lines of Code Holding a Coffee Cup and a Tablet in a Colored Minimalist Background

Ein performanter Magento Stack benötigt sorgfältig abgestimmte Komponenten, um Shop-Anfragen effizient zu verarbeiten. Nginx dient als Reverse-Proxy und Webserver, Redis für Session- und Full-Page-Caching, und Varnish beschleunigt die Auslieferung von Seiten durch HTTP-Caching. Dieser Leitfaden zeigt Einsteigern, IT-Studierenden und Junior Network Engineers, wie ein Magento Performance-Setup unter Linux aufgebaut und optimiert wird.

Systemvoraussetzungen

Nginx als Reverse-Proxy für Magento

Nginx ist effizienter als Apache bei statischen Dateien und kann gleichzeitig als Reverse-Proxy vor Varnish agieren.

Installation

# Ubuntu
sudo apt update
sudo apt install nginx -y

CentOS

sudo dnf install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

Serverblock konfigurieren

sudo nano /etc/nginx/sites-available/magento.conf
server {
    listen 80;
    server_name shop.example.com;
    root /var/www/magento;

    index index.php;

    access_log /var/log/nginx/magento.access.log;
    error_log /var/log/nginx/magento.error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}
sudo ln -s /etc/nginx/sites-available/magento.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Redis für Sessions und Full-Page-Cache

Redis speichert Sessions und kann Magento Full-Page-Cache beschleunigen, um Datenbanklast zu reduzieren.

Installation

# Ubuntu
sudo apt install redis-server -y
sudo systemctl enable redis-server
sudo systemctl start redis-server

CentOS

sudo dnf install redis -y
sudo systemctl enable redis
sudo systemctl start redis

Magento konfigurieren

bin/magento setup:config:set --cache-backend=redis --cache-backend-redis-server=127.0.0.1 --cache-backend-redis-db=0
bin/magento setup:config:set --session-save=redis --session-save-redis-host=127.0.0.1 --session-save-redis-db=1

Varnish als HTTP Accelerator

Varnish beschleunigt die Auslieferung von Seiten, indem HTTP-Responses zwischengespeichert werden.

Installation

# Ubuntu
sudo apt install varnish -y
sudo systemctl enable varnish
sudo systemctl start varnish

CentOS

sudo dnf install varnish -y
sudo systemctl enable varnish
sudo systemctl start varnish

Magento Varnish Konfiguration

bin/magento config:set system/full_page_cache/caching_application 2
bin/magento config:set system/full_page_cache/varnish/access_list 127.0.0.1
bin/magento cache:flush

PHP-FPM optimieren

PHP-FPM sollte für Magento-Pools passend konfiguriert werden, um Performance bei hohem Traffic zu sichern.

[www]
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
pm = dynamic
pm.max_children = 70
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 20
php_admin_value[memory_limit] = 512M
sudo systemctl restart php8.1-fpm

Datenbankoptimierung (MariaDB)

MariaDB sollte auf hohe Anzahl gleichzeitiger Verbindungen und Cache-Größen optimiert werden.

[mysqld]
innodb_buffer_pool_size = 2G
innodb_log_file_size = 512M
max_connections = 500
query_cache_type = 0
query_cache_size = 0
tmp_table_size = 64M
max_heap_table_size = 64M
sudo systemctl restart mariadb

Netzwerk- und Subnetzplanung

Multi-Server-Setups für Magento profitieren von separaten Subnetzen für Webserver, Caching und Datenbank-Server.

IPv4 Subnetz

<math>
Web-Server-IP = 192.168.490.10/24
Redis-IP = 192.168.490.11/24
Varnish-IP = 192.168.490.12/24
Subnetzadresse = 192.168.490.0
Broadcastadresse = 192.168.490.255
</math>

IPv6 Subnetz

<math>
Web-Server-IP = 2001:db8:abcd:490::10/64
Redis-IP = 2001:db8:abcd:490::11/64
Varnish-IP = 2001:db8:abcd:490::12/64
Subnetzadresse = 2001:db8:abcd:490::0
Broadcastadresse = 2001:db8:abcd:490:ffff:ffff:ffff:ffff
</math>

Best Practices

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version