PrestaShop איטי באחסון זול — כאב מוכר: עמודים נטענים תוך 10 שניות, פאנל הניהול קורס עם 50 מוצרים. אנחנו יודעים איך לתקן את זה. מאמר זה מכסה הגדרה שלב אחר שלב של PrestaShop 8 לפרויקט חי: מבחירת שרת ועד כוונון לייצור. במשך יותר מ-5 שנים הגדרנו יותר מ-40 חנויות, ובכל פעם ראינו שהתקנה ברירת מחדל מובילה ישר לבעיות. אם החנות שלך כבר איטית, צור איתנו קשר לבדיקה — נבחר את התצורה האופטימלית לתקציב שלך.
למה מתקין האינטרנט ברירת המחדל לא מתאים לפרויקט חי?
מתקין האינטרנט של PrestaShop נוח לבדיקות, אבל לייצור הוא יוצר סיכונים מיותרים: גישה פתוחה לסקריפט ההתקנה, ללא אופטימיזציה של PHP, שרת אינטרנט שגוי. התקנה דרך CLI עם Composer מהירה פי 3 ומאפשרת להגדיר את כל הפרמטרים בפקודה אחת. אנחנו משתמשים בדיוק בזה — פרטים נוספים בתיעוד הרשמי.
דרישות שרת ל-PrestaShop 8
| רכיב | מינימום | המלצה לייצור |
|---|---|---|
| PHP | 8.1 / 8.2 + הרחבות | 8.2 + OPcache + Redis |
| מסד נתונים | MySQL 5.7 / MariaDB 10.4 | MySQL 8.0 / MariaDB 10.6 |
| RAM | 512 MB | 2–4 GB |
| דיסק | 2 GB | SSD מ-10 GB |
| שרת אינטרנט | Apache 2.4 או Nginx | Nginx + HTTP/2 |
השוואת שיטות מטמון
| שיטה | מהירות | מורכבות הגדרה | המלצה |
|---|---|---|---|
| OPcache | גבוהה (מטמון opcode) | נמוכה | חובה לכל סביבת ייצור |
| Redis (סשנים) | גבוהה מאוד (בזיכרון) | בינונית | לחנויות עם >1000 מבקרים ביום |
| Memcached | גבוהה, אך ללא שמירה מתמשכת | נמוכה | מיושן, Redis עדיף |
| Varnish | גבוהה מאוד (מטמון HTTP) | גבוהה | לפרויקטים בעומס גבוה |
התקנה דרך Composer (CLI)
composer create-project prestashop/prestashop prestashop "~8.1.0" --no-dev
cd prestashop
php install-dev/index_cli.php \
--domain=example.com \
--db_server=localhost \
--db_name=prestashop \
--db_user=psuser \
--db_password=securepassword \
--prefix=ps_ \
--firstname=Admin \
--lastname=User \
--password=AdminPass123! \
[email protected] \
--language=ru \
--country=ru \
--newsletter=0 \
--send_email=0
rm -rf install-dev/ תצורת Nginx ל-PrestaShop
server {
listen 443 ssl http2;
server_name example.com;
root /var/www/prestashop;
index index.php;
client_max_body_size 64M;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
}
location ~* \.(htaccess|htpasswd|ini|log|sh|sql|bak)$ {
deny all;
}
location ~ / \. {
deny all;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
} איך להגדיר PHP-FPM לעומס גבוה?
אופטימיזציה של PHP-FPM נותנת את השיפור הגדול ביותר בביצועים. הגדר את ה-pool לפי העומס: תהליכים דינמיים, הגדלת מגבלת זיכרון, מטמון opcode. הוסף Redis לסשנים ולמטמון — זה מקטין את זמן התגובה של מסד הנתונים. בפרויקט אחד (חנות מקוונת לחלקי רכב עם 10,000 מוצרים), לאחר התצורה שלנו ה-LCP ירד מ-8 ל-1.5 שניות, מה שהעלה את שיעור ההמרה ב-12% ואת ערך ההזמנה הממוצע ב-5%. לחנות עם מחזור חודשי של $18k–26k, זה הביא לרווח נוסף של כ-$900–1.3k בחודש.
תצורת pool של PHP-FPM
[prestashop]
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 8
pm.max_requests = 500
php_value[memory_limit] = 512M
php_value[max_execution_time] = 300
php_value[upload_max_filesize] = 64M
php_value[post_max_size] = 64M הגדרה שלב אחר שלב של Redis למטמון
- התקן Redis על השרת:
composer create-project prestashop/prestashop prestashop "~8.1.0" --no-dev cd prestashop php install-dev/index_cli.php \ --domain=example.com \ --db_server=localhost \ --db_name=prestashop \ --db_user=psuser \ --db_password=securepassword \ --prefix=ps_ \ --firstname=Admin \ --lastname=User \ --password=AdminPass123! \ [email protected] \ --language=ru \ --country=ru \ --newsletter=0 \ --send_email=0 rm -rf install-dev/(או דומה עבור מערכת ההפעלה שלך). - ב-
server { listen 443 ssl http2; server_name example.com; root /var/www/prestashop; index index.php; client_max_body_size 64M; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_read_timeout 300; } location ~* \.(htaccess|htpasswd|ini|log|sh|sql|bak)$ { deny all; } location ~ / \. { deny all; } location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ { expires 30d; add_header Cache-Control "public, no-transform"; } }הגדר[prestashop] pm = dynamic pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 3 pm.max_spare_servers = 8 pm.max_requests = 500 php_value[memory_limit] = 512M php_value[max_execution_time] = 300 php_value[upload_max_filesize] = 64M php_value[post_max_size] = 64Mו-apt install redis-server. - ב-PrestaShop עבור אל "פרמטרי חנות → ביצועים → מטמון" ובחר "Redis".
- הגדר פרמטרי חיבור: שרת
/etc/redis/redis.conf, פורטmaxmemory 256mb, סיסמה (אם הוגדרה). - אפשר מטמון של תוצאות שאילתות וסשנים.
- בדוק עם
maxmemory-policy allkeys-lru— אמור להשיב127.0.0.1.
בפרויקט אחר החלפנו את Apache ב-Nginx והגדרנו PHP-FPM, מה שהפחית את זמן תגובת השרת ב-40%. החיסכון באחסון היה 30% במעבר ל-VPS עם 2 GB RAM.
אילו טעויות נעשות לרוב בהגדרת PrestaShop?
הטעות הראשונה היא התקנה על אחסון משותף ללא משאבים ייעודיים. PrestaShop רץ בצורה גרועה בסביבה משותפת. השנייה היא התעלמות ממטמון ו-CDN. השלישית היא אי מחיקת תיקיית install-dev לאחר ההתקנה, מה שמותיר חור אבטחה. הרביעית היא שימוש בהגדרות PHP ברירת מחדל (בדרך כלל 128M זיכרון, אבל צריך 512M). הימנעות מטעויות אלה מבטיחה פעולה יציבה של החנות.
תצורה לאחר התקנה
שלבים חובה לאחר ההתקנה:
# Права доступа
find /var/www/prestashop -type d -exec chmod 755 {} \;
find /var/www/prestashop -type f -exec chmod 644 {} \;
chmod 777 var/cache var/logs
# Переименовать admin
mv admin-dev/ admin-secret-name/
# Cron для фоновых задач
# /etc/cron.d/prestashop
*/5 * * * * www-data php /var/www/prestashop/bin/console prestashop:cron:run
0 2 * * * www-data php /var/www/prestashop/bin/console cache:clear --env=prod
לוחות זמנים משוערים: התקנה בסיסית עם הגדרת שרת — מ-4 שעות עד יומיים. הגדרה מלאה עם SSL, Redis, CDN — 1–2 ימים. העלות מחושבת בנפרד עבור הפרויקט שלך. צור איתנו קשר להערכת מחיר — נמצא את הפתרון האופטימלי. הזמן התקנה סוהר עם אחריות לביצועים.
מה כלול בעבודה
- בדיקת תשתית קיימת והמלצות לשיפור
- התקנה והגדרה סוהר של PrestaShop תוך התחשבות בעומס
- אופטימיזציה של PHP, Nginx ומסד הנתונים
- תיעוד תצורה והדרכת מנהלים
- אחריות ל-30 יום לפעולה תקינה של החנות
- תמיכה לאחר ההתקנה לפי בקשה
קבל ייעוץ — נעריך את הפרויקט שלך ונציע את הפתרון הטוב ביותר.







