نشر تطبيق Node.js: دليل PM2 و Nginx
دليل شامل لنشر تطبيقات Node.js على VPS. تثبيت Node.js عبر nvm، مدير العمليات PM2، وكيل Nginx العكسي، شهادة SSL وإدارة متغيرات البيئة.
دليل تثبيت وتحسين WordPress على VPS. إعداد LEMP Stack، إعدادات wp-config.php، صلاحيات الملفات، SSL، تحسين أداء OPcache وتعزيز الأمان.
WordPress هو نظام إدارة المحتوى الأكثر استخداماً في العالم. تشغيل WordPress على VPS بدلاً من الاستضافة المشتركة يمنحك تحكماً أكبر وأداءً أفضل وخيارات تخصيص. يغطي هذا الدليل تثبيت WordPress وإعداده وتحسينه على LEMP Stack.
# تحديث النظام
sudo apt update && sudo apt upgrade -y
# تثبيت Nginx
sudo apt install nginx -y
sudo systemctl enable nginx
# تثبيت MariaDB
sudo apt install mariadb-server -y
sudo systemctl enable mariadb
sudo mysql_secure_installation
# تثبيت PHP 8.2 والإضافات المطلوبة لـ WordPress
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-xml php8.2-curl \
php8.2-mbstring php8.2-zip php8.2-gd php8.2-imagick php8.2-intl \
php8.2-bcmath php8.2-soap -y
sudo systemctl enable php8.2-fpm
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'كلمة-مرور-قوية';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/mysite.com
# تعيين صلاحيات الملفات
sudo chown -R www-data:www-data /var/www/mysite.com
sudo find /var/www/mysite.com -type d -exec chmod 755 {} \;
sudo find /var/www/mysite.com -type f -exec chmod 644 {} \;
// إعدادات قاعدة البيانات
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'كلمة-مرور-قوية' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
// تعطيل تحرير الملفات (أمان)
define('DISALLOW_FILE_EDIT', true);
// إجبار SSL
define('FORCE_SSL_ADMIN', true);
// حد الذاكرة
define('WP_MEMORY_LIMIT', '256M');
server {
listen 80;
server_name mysite.com www.mysite.com;
root /var/www/mysite.com;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /xmlrpc.php { deny all; }
location = /wp-config.php { deny all; }
location ~ /\. { deny all; }
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|svg)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
client_max_body_size 64M;
}
sudo ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d mysite.com -d www.mysite.com
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 2
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
# تأمين wp-config.php
sudo chmod 600 /var/www/mysite.com/wp-config.php
اضبط صلاحيات wp-config.php على 600. هذا الملف يحتوي على كلمة مرور قاعدة البيانات.
على خوادم REXE، يُوصى بـ 2 جيجابايت ذاكرة RAM على الأقل لـ WordPress. للمواقع ذات الحركة العالية، يُفضَّل 4 جيجابايت+ RAM وتخزين SSD.
موقع WordPress الخاص بك يعمل الآن على LEMP Stack على VPS، مؤمَّن بـ SSL ومحسَّن بـ OPcache. حافظ على صحة موقعك بالنسخ الاحتياطية المنتظمة وتحديثات الأمان ومراقبة الأداء.
تحقق من قيم DB_NAME و DB_USER و DB_PASSWORD و DB_HOST في wp-config.php. تحقق من تشغيل MySQL بـ 'sudo systemctl status mariadb'. تحقق من صلاحيات المستخدم على قاعدة البيانات بأمر SQL 'SHOW GRANTS FOR wpuser@localhost;'.
تحقق من صحة توجيه try_files في إعداد Nginx. تحقق من تشغيل PHP-FPM بـ 'sudo systemctl status php8.2-fpm'. راجع سجل أخطاء Nginx بـ 'sudo tail -f /var/log/nginx/mysite.com.error.log'.
زد upload_max_filesize و post_max_size في php.ini (مثلاً 64M). زد أيضاً client_max_body_size في Nginx بنفس القيمة. أعد تشغيل PHP-FPM و Nginx. أضف 'define("WP_MAX_MEMORY_LIMIT", "256M");' إلى wp-config.php.
فعّل OPcache، استخدم Nginx FastCGI Cache. ثبّت إضافة W3 Total Cache أو WP Super Cache. استخدم CDN (Cloudflare). أضف إضافة Smush أو ShortPixel لتحسين الصور. حسّن قاعدة البيانات بانتظام باستخدام WP-CLI.
دليل شامل لنشر تطبيقات Node.js على VPS. تثبيت Node.js عبر nvm، مدير العمليات PM2، وكيل Nginx العكسي، شهادة SSL وإدارة متغيرات البيئة.
دليل شامل لنشر تطبيقات PHP على VPS. مقارنة LAMP و LEMP، إعداد Apache/Nginx + PHP-FPM + MySQL، تهيئة المضيف الافتراضي وإدارة إصدارات PHP.
دليل نشر تطبيقات Python/Django على VPS. إعداد virtualenv، إعدادات Django للإنتاج، خادم Gunicorn WSGI، وكيل Nginx العكسي، خدمة systemd وإدارة الملفات الثابتة.