نظرة على Nginx
تعتمد EGPHP على Nginx (يُنطق "engine-x") كسيرفر ويب. ويشتهر Nginx بأدائه العالي وثباته واستهلاكه المنخفض للموارد. وعلى خلاف Apache، لا يستخدم Nginx ملفات .htaccess.
لا وجود لـ .htaccess: لا يدعم Nginx ملفات .htaccess، ويتم تحقيق الوظائف نفسها عبر ملفات إعداد Nginx.
الوصول إلى إعدادات Nginx
- سجّل الدخول إلى EGPNL
- انتقل إلى Domains
- اضغط على نطاقك
- اختر Nginx Config أو Advanced Settings
إعدادات Nginx الشائعة
تحويل HTTP إلى HTTPS
افرض على كل الزيارات استخدام HTTPS:
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
تحويل www إلى النطاق بدونها
if ($host ~* ^www\.(.*)) {
return 301 https://$1$request_uri;
}
تحويل النطاق بدون www إلى www
if ($host !~* ^www\.) {
return 301 https://www.$host$request_uri;
}
الروابط الدائمة في WordPress
مطلوب لتعمل روابط WordPress الصديقة لمحركات البحث:
location / {
try_files $uri $uri/ /index.php?$args;
}
لمستخدمي WordPress: يضبط EGPNL الروابط الدائمة تلقائيًا عند إضافة موقع WordPress، فلا حاجة لأي إعداد يدوي!
ترويسات الأمان
أضف ترويسات الأمان لحماية موقعك:
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
إعداد التخزين المؤقت
فعّل التخزين المؤقت في المتصفح للملفات الثابتة:
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|woff|ttf)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
ضغط Gzip
فعّل ضغط gzip لتحميل أسرع للصفحات (يكون مفعّلًا افتراضيًا في العادة):
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
gzip_min_length 1000;
صفحات أخطاء مخصصة
حدّد صفحات مخصصة لأخطاء 404 و500:
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
حظر الوصول
حظر عناوين IP محددة
deny 123.45.67.89;
deny 98.76.54.0/24;
حظر ملفات محددة
location ~ /\.(htaccess|htpasswd|git|svn) {
deny all;
}
حماية مجلد بكلمة مرور
location /admin {
auth_basic "Restricted";
auth_basic_user_file /path/to/.htpasswd;
}
إعادة كتابة الروابط
أعد كتابة الروابط دون إعادة توجيه:
# Rewrite old URL to new URL internally
rewrite ^/old-page$ /new-page last;
# Redirect old URL to new URL (301)
rewrite ^/old-url$ /new-url permanent;
إعداد PHP
اضبط إعدادات PHP الخاصة بنطاقك:
location ~ \.php$ {
fastcgi_param PHP_VALUE "
upload_max_filesize=64M
post_max_size=64M
max_execution_time=300
";
}
انتبه: قد يجعل الإعداد الخاطئ لـ Nginx موقعك غير متاح. خذ دائمًا نسخة احتياطية من إعدادك الحالي قبل أي تعديل.
اختبار الإعداد
بعد إجراء التعديلات:
- سيتحقق EGPNL من صحة إعدادك تلقائيًا
- إذا وُجدت أخطاء، فسترى رسالة تحذير
- صحّح أي أخطاء قبل الحفظ
- سيُعاد تحميل Nginx تلقائيًا بعد الحفظ الناجح
هل كان هذا المقال مفيدًا؟