הגדרת Magento 2 / Adobe Commerce: מחזור תצורה מלא
רכשתם רישיון Magento 2 (או משתמשים בגרסת Community), הכנתם שרת, אבל האתר או לא עולה או רץ לאט? האשם האופייני הוא מחסנית לא תואמת: גרסת PHP שגויה, תוסף bcmath חסר, או תצורת Redis שגויה לקאש סשנים. שגיאות אלו אולי לא מופיעות בסביבת staging, אבל תחת עומס ייצור עם 5000+ מבקרים יומיים, הן גורמות ל-timeouts ולקריסות. פרסנו את Magento 2 בעשרות פרויקטים — מחנויות מקוונות קטנות ועד קטלוגים עם 200,000 SKU. הניסיון שלנו מבטיח פעילות יציבה מהיום הראשון. תצורה שגויה של המחסנית גורמת לרוב לעלויות נוספות של כ-400 דולר בממוצע.
מעבר לרכיבים הברורים (PHP, MySQL, Nginx), קריטיים הם Elasticsearch/OpenSearch לחיפוש טקסט מלא, Redis לקאש וסשנים, ותצורת Varnish נכונה (אם נעשה בו שימוש). בלעדיהם, הביצועים יורדים ב-30-50%, ו-Core Web Vitals ייכשל בכל כלי. במאמר זה, אנו מציגים את התצורה המדויקת של כל רכיב במחסנית. התיעוד הרשמי של Magento ממליץ על PHP 8.2 עם OpCache מופעל ולפחות 2G זיכרון לייצור Magento DevDocs.
למה המחסנית הנכונה חשובה ל-Magento 2
Magento 2 דורש סט מדויק של רכיבים. שימוש בגרסת PHP שגויה או דילוג על תוסף מוביל לשגיאות חמורות. לדוגמה, ללא bcmath, מודולים פיננסיים נכשלים; ללא opcache, הביצועים יורדים ב-30-50%. אנו מגדירים כל רכיב במחסנית כך שיתאים לעומס שלכם.
הכנת השרת
הדרישות המינימליות ל-dev/staging והמומלצות לייצור (עד 50,000 SKU, עומס ממוצע) מסוכמות בטבלה.
| רכיב | Dev/Staging | ייצור |
|---|---|---|
| vCPU | 4 | 8 |
| RAM | 8 GB | 16 GB |
| SSD | 50 GB | 100 GB |
| נוסף | — | שרתי MySQL ו-Elasticsearch נפרדים |
התקנת המחסנית
# Nginx
apt install nginx -y && systemctl enable nginx
# PHP 8.2 + расширения
add-apt-repository ppa:ondrej/php -y && apt update
apt install php8.2-fpm php8.2-bcmath php8.2-ctype php8.2-curl php8.2-dom php8.2-fileinfo php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysqlnd php8.2-opcache php8.2-pdo php8.2-simplexml php8.2-soap php8.2-xsl php8.2-zip php8.2-sockets -y
# MySQL 8.0
apt install mysql-server -y && mysql_secure_installation
# Redis
apt install redis-server -y
# OpenSearch 2.x (заменяет Elasticsearch)
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.11.0/opensearch-2.11.0-linux-x64.tar.gz && \
tar -xzf opensearch-2.11.0-linux-x64.tar.gz && \
nano /etc/opensearch/opensearch.yml
# Укажите: cluster.name: magento, network.host: 127.0.0.1, http.port: 9200, plugins.security.disabled: true (только для dev)
# Composer
curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
תצורת PHP
# /etc/php/8.2/fpm/pool.d/magento.conf
[magento]
user = www-data
group = www-data
listen = /run/php/php8.2-fpm-magento.sock
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500
# php.ini настройки
memory_limit = 2G
max_execution_time = 1800
zlib.output_compression = On
opcache.enable = 1
opcache.memory_consumption = 512
opcache.max_accelerated_files = 60000
opcache.consistency_checks = 0
opcache.validate_timestamps = 0
; только в prod (в dev = 1) כיצד להגדיר Redis לביצועים מקסימליים
Redis מטפל בשלושה סוגי קאש: סשנים, בלוקים (קאש) ודפים. במהלך התקנת Magento, ניתן להקצות מסדי נתונים נפרדים של Redis לכל סוג. לאחר ההתקנה, התצורה נמצאת ב-# Nginx apt install nginx -y && systemctl enable nginx # PHP 8.2 + расширения add-apt-repository ppa:ondrej/php -y && apt update apt install php8.2-fpm php8.2-bcmath php8.2-ctype php8.2-curl php8.2-dom php8.2-fileinfo php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysqlnd php8.2-opcache php8.2-pdo php8.2-simplexml php8.2-soap php8.2-xsl php8.2-zip php8.2-sockets -y # MySQL 8.0 apt install mysql-server -y && mysql_secure_installation # Redis apt install redis-server -y # OpenSearch 2.x (заменяет Elasticsearch) wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.11.0/opensearch-2.11.0-linux-x64.tar.gz && \ tar -xzf opensearch-2.11.0-linux-x64.tar.gz && \ nano /etc/opensearch/opensearch.yml # Укажите: cluster.name: magento, network.host: 127.0.0.1, http.port: 9200, plugins.security.disabled: true (только для dev) # Composer curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer . לעומס גבוה, השתמשו בשרת Redis ייעודי או ב-cluster. פרמטרי Redis מוגדרים בפקודת ההתקנה — אנו מציגים זאת להלן.
השוואת מערכות קאש
| קריטריון | Redis | Varnish |
|---|---|---|
| סוג קאש | קאש נתונים (סשנים, בלוקים) | קאש HTTP (דפים מלאים) |
| ביצועים | קריאה/כתיבה מהירה של מפתחות | מטמון תגובות HTML |
| מורכבות | התקנה פשוטה | דורש התאמות Magento |
| שימוש | חובה ב-Magento 2 | מומלץ לעומסים גבוהים |
כיצד להתקין את Magento 2: מדריך שלב-אחר-שלב
- הכינו את השרת: התקינו מחסנית LEMP, PHP 8.2 עם תוספים, MySQL, Redis, OpenSearch.
- צרו פרויקט Magento דרך Composer (דורש מפתחות API מ-account.magento.com).
- הגדירו את מסד הנתונים והרשאות קבצים.
- הריצו את ההתקנה, תוך ציון חיבורי Redis ו-OpenSearch.
- הגדירו מצב ייצור ואינדוקס.
התקנת Magento דרך Composer והגדרות לאחר ההתקנה
# Создание проекта
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition=2.4.7-p3 /var/www/magento
cd /var/www/magento
chown -R www-data:www-data .
chmod -R 775 var generated pub/static pub/media
# Создание БД
mysql -u root -e "CREATE DATABASE magento CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'magento'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL ON magento.* TO 'magento'@'localhost'; FLUSH PRIVILEGES;"
# Установка
bin/magento setup:install --base-url="https://myshop.example.com/" --db-host="localhost" --db-name="magento" --db-user="magento" --db-password="StrongPassword123!" --admin-firstname="Admin" --admin-lastname="User" --admin-email="[email protected]" --admin-user="admin_secure_name" --admin-password="Admin@Secure123!" --language="ru_RU" --currency="USD" --timezone="Europe/Moscow" --use-rewrites=1 --search-engine="opensearch" --opensearch-host="127.0.0.1" --opensearch-port=9200 --session-save="redis" --session-save-redis-host="127.0.0.1" --session-save-redis-db=1 --cache-backend="redis" --cache-backend-redis-server="127.0.0.1" --cache-backend-redis-db=2 --page-cache="redis" --page-cache-redis-server="127.0.0.1" --page-cache-redis-db=3 --backend-frontname="admin_$(openssl rand -hex 4)"
# Режим, индексы, cron
bin/magento deploy:mode:set production
bin/magento indexer:set-mode schedule
bin/magento indexer:reindex
bin/magento cron:install
bin/magento module:disable Magento_TwoFactorAuth # только для dev
bin/magento cache:flush דוגמת תצורת Nginx
server {
listen 80;
server_name myshop.example.com;
set $MAGE_ROOT /var/www/magento;
root $MAGE_ROOT/pub;
index index.php;
include /var/www/magento/nginx.conf.sample;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm-magento.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
} מה כוללת העבודה שלנו
אנו לא רק מתקינים את Magento 2. השירות שלנו כולל תצורה מלאה של מחסנית LEMP המותאמת לסביבה שלכם, אופטימיזציה של PHP-FPM, Redis ו-OpenSearch לעומס גבוה, כוונון Nginx עם FastCGI cache ודחיסת brotli, הגדרת cron וניטור (New Relic, Prometheus), העברת נתונים מ-Magento 1 או CMS אחר עם בדיקות ביניים, ומסירת תיעוד פריסה ופרטי גישה. אנו מבטיחים שאחרי ההתקנה החנות שלכם תעבור Core Web Vitals ותהיה מוכנה לעד 10,000 מבקרים יומיים. צרו קשר לייעוץ מפורט על הגדרת Magento 2 — ננתח את הפרויקט שלכם ונציע את התצורה האופטימלית.
לוחות זמנים
התקנה על שרת מוכן עם תצורה בסיסית והעברה: 1–2 ימים. אם זה כולל הגדרת שרת מאפס, SSL, Nginx, Redis, OpenSearch, ניטור וגיבויים: 3–5 ימים. העברה מ-Magento 1 או פלטפורמה אחרת: פרויקט נפרד, 2–8 שבועות. העלות נקבעת לאחר הערכה אישית.
קבלו הערכה מותאמת אישית — המהנדסים שלנו יעריכו את העומס שלכם ויציעו את הפתרון הטוב ביותר.







