نشر تطبيق Node.js: دليل PM2 و Nginx
دليل شامل لنشر تطبيقات Node.js على VPS. تثبيت Node.js عبر nvm، مدير العمليات PM2، وكيل Nginx العكسي، شهادة SSL وإدارة متغيرات البيئة.
التكوين الأمثل للخادم لـ WordPress: حزمة LEMP، PHP-FPM، ذاكرة التخزين المؤقت Nginx FastCGI، Redis، ضبط MariaDB، OPcache وإعداد CDN. المواصفات الموصى بها لمستويات حركة المرور المختلفة.
WordPress هو نظام إدارة المحتوى الأكثر شعبية في العالم. ومع ذلك، قد تحدث مشاكل في الأداء عند التشغيل بالتكوينات الافتراضية. يشرح هذا الدليل خطوة بخطوة التكوين الأمثل للخادم لتشغيل موقع WordPress الخاص بك بسرعة وموثوقية.
| مستوى الحركة | الزوار الشهريون | CPU | RAM | التخزين | الخطة الموصى بها |
|---|---|---|---|---|---|
| صغير | < 10,000 | 2 vCPU | 2 GB | 20 GB NVMe | VPS Starter |
| متوسط | 10,000 - 100,000 | 4 vCPU | 4-8 GB | 50 GB NVMe | VDS Starter |
| كبير | 100,000 - 500,000 | 8 vCPU | 16 GB | 100 GB NVMe | VDS Pro |
| مؤسسي | 500,000+ | 16+ vCPU | 32+ GB | 200+ GB NVMe | Dedicated |
توفر حزمة LEMP (Linux + Nginx + MariaDB + PHP-FPM) أفضل أداء لـ WordPress. تستخدم ذاكرة أقل من Apache وتدعم اتصالات متزامنة أعلى.
# تحديث النظام
sudo apt update && sudo apt upgrade -y
# تثبيت Nginx
sudo apt install nginx -y
# تثبيت MariaDB
sudo apt install mariadb-server mariadb-client -y
# تثبيت PHP والامتدادات المطلوبة
sudo apt install php8.2-fpm php8.2-mysql php8.2-xml php8.2-gd \
php8.2-curl php8.2-mbstring php8.2-zip php8.2-redis -y
[wordpress]
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
php_admin_value[memory_limit] = 256M
php_admin_value[upload_max_filesize] = 64M
php_admin_value[max_execution_time] = 300
fastcgi_cache_path /var/cache/nginx/wordpress
levels=1:2
keys_zone=WORDPRESS:100m
inactive=60m
max_size=1g;
server {
listen 443 ssl http2;
server_name example.com;
set $skip_cache 0;
if ($request_method = POST) { set $skip_cache 1; }
if ($http_cookie ~* "wordpress_logged_in") { set $skip_cache 1; }
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm-wordpress.sock;
include fastcgi_params;
fastcgi_cache WORDPRESS;
fastcgi_cache_valid 200 60m;
fastcgi_cache_bypass $skip_cache;
add_header X-FastCGI-Cache $upstream_cache_status;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
sudo apt install redis-server -y
maxmemory 256mb
maxmemory-policy allkeys-lru
save ""
// إضافة إلى wp-config.php
define('WP_REDIS_HOST', '/var/run/redis/redis-server.sock');
define('WP_REDIS_PORT', 0);
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
query_cache_type = 1
query_cache_size = 64M
max_connections = 150
tmp_table_size = 64M
opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=10000
opcache.jit=1255
opcache.jit_buffer_size=128M
يوزّع CDN (شبكة توصيل المحتوى) ملفاتك الثابتة على خوادم حول العالم، مما يقلل أوقات التحميل.
define('DISALLOW_FILE_EDIT', true);
define('FORCE_SSL_ADMIN', true);
define('WP_DEBUG', false);
لتحسين أداء WordPress، طبّق أولاً التحسينات ذات التأثير الأكبر: 1) OPcache، 2) ذاكرة التخزين المؤقت FastCGI، 3) ذاكرة التخزين المؤقت لكائنات Redis، 4) CDN. هذه الخطوات الأربع تسرّع معظم مواقع WordPress بمقدار 5-10 أضعاف.
Nginx هو عموماً خيار أفضل لـ WordPress. يستخدم ذاكرة أقل من Apache، ويدعم اتصالات متزامنة أعلى، ويوفر أوقات استجابة أسرع بكثير مع ذاكرة التخزين المؤقت FastCGI.
يُوصى بـ Redis لـ WordPress. يوفر Redis هياكل بيانات أغنى من Memcached، ولديه خيار الاستمرارية، ويوفر تكاملاً ممتازاً مع مكوّن WordPress Redis Object Cache.
تعمل ذاكرة التخزين المؤقت FastCGI على مستوى Nginx وتستجيب بتجاوز PHP بالكامل. هذا أسرع بكثير من حلول التخزين المؤقت المستندة إلى مكوّنات WordPress. إذا كنت تستخدم ذاكرة التخزين المؤقت FastCGI على مستوى الخادم، فلا تحتاج عادةً إلى مكوّن تخزين مؤقت WordPress إضافي.
يمكنك البدء بحد أدنى 2 GB RAM، لكن يُوصى بـ 4 GB. قد تحتاج المواقع ذات الحركة العالية إلى 8-16 GB. حساب RAM: ~50-100 MB لكل عملية PHP-FPM، ~1 GB لـ MariaDB، ~256 MB لـ Redis، ~50 MB لـ Nginx.
نعم، بعض الإعدادات الإضافية مطلوبة لـ WooCommerce. لا ينبغي تخزين صفحات سلة التسوق والدفع مؤقتاً. استخدم تخزين جلسة Redis. اضبط PHP memory_limit على 256 MB على الأقل. يُوصى بـ VDS أو خادم مخصص للمواقع WooCommerce ذات الحركة العالية.
دليل شامل لنشر تطبيقات Node.js على VPS. تثبيت Node.js عبر nvm، مدير العمليات PM2، وكيل Nginx العكسي، شهادة SSL وإدارة متغيرات البيئة.
دليل شامل لنشر تطبيقات PHP على VPS. مقارنة LAMP و LEMP، إعداد Apache/Nginx + PHP-FPM + MySQL، تهيئة المضيف الافتراضي وإدارة إصدارات PHP.
دليل تثبيت وتحسين WordPress على VPS. إعداد LEMP Stack، إعدادات wp-config.php، صلاحيات الملفات، SSL، تحسين أداء OPcache وتعزيز الأمان.