كيفية إصلاح أخطاء 404 Nginx بعد ترقية خادم Ubuntu



جرب أداة القضاء على المشاكل

تتميز إحدى مجموعات خوادم الويب الأكثر شيوعًا اليوم بتطبيق برنامج خادم ويب Nginx الذي يعمل على إصدار Ubuntu Server. هذا النظام فعال للغاية ويسهل تحديثه باستمرار ، حيث تستمر الحزمتان في تلقي تحديثات منتظمة. يقوم مسؤولو النظام عمومًا بتثبيت التحديثات من خلال مدير الحزم المناسب ، لأن خادم Ubuntu لا يحتوي على واجهة رسومية افتراضيًا.



يمكن أن تؤدي ترقيات خادم Ubuntu أحيانًا إلى حدوث أخطاء غير عادية ، وقد يؤدي هذا النقص في واجهة المستخدم الرسومية إلى صعوبة استكشاف الأخطاء وإصلاحها للمبتدئين. قد تكون بعض الأوامر البسيطة هي كل ما يتطلبه الأمر لإصلاح أخطاء 404 Nginx بعد ترقية Ubuntu.



الطريقة الأولى: إصلاح صفحات خطأ Nginx المفقودة

إذا تمت استضافة موقع على AWS أو خادم خاص أو أي تكوين خادم آخر في مكدس LEMP ، فقد ينخفض ​​بشكل عشوائي بعد ترقية خادم Ubuntu. محاولة الوصول إلى الموقع من مستعرض ويب ، ربما من جهاز آخر. بافتراض أنه يُرجع خطأ 404 ، توجه إلى Ubuntu Server CLI وقم بتشغيل الأمر tail -f لعرض جميع الأخطاء الأخيرة.



هل يجب أن يحتوي السجل على خطأ مثل:

نظامك يعاني من صفحة خطأ مفقودة. قد ترى أيضًا 40x.html في هذا السطر ، على الرغم من أن هذا غير شائع نسبيًا إذا كان موقعك معطلاً وظهرت لك أخطاء 404 في المقابل. استخدم الأمر ls لمعرفة ما إذا كان هناك أي شيء. إذا لم يكن الأمر كذلك ، فسيلزمك إنشاء رمز HTML لصفحة تحتوي على أخطاء 50X.



ضع في اعتبارك أن استخدام الافتراضي غالبًا ما تكون بنية الدليل مشكلة مع مديري الحزم ، والذين يمكنهم الكتابة فوق كل ما يتم تخزينه هناك. يمكنك تغيير سطر docroot في تهيئة Nginx لمنع هذا النوع من المشاكل إذا كان مسموحًا لك بإنشاء بنية دليل مخصصة.

الطريقة الثانية: جعل PHP تعثر على المقبس الصحيح

قد تجد أيضًا خطأ يقرأ شيئًا كهذا في ملف

هذا يعني أن لديك PHP7.0 قيد التشغيل ، لكنه لا يعمل في المكان الذي ينبغي أن يكون عليه. قد يكون رقم الإصدار مختلفًا اعتمادًا على كيفية تكوين PHP. سيتم تشغيل التثبيتات الافتراضية من أو ، ولكن إذا كان لديك هذا الخطأ ، فمن المحتمل ألا يكون الأمر كذلك.

قم بتشغيل الأوامر ثم ابحث عن -name 'php * fpm.sock' لمعرفة ما إذا كان هناك مقبس يعمل في مكان ما على نظامك.

بافتراض أنك تلقيت مخرجات إيجابية ، فأنت بحاجة إلى تحديث تكوين Nginx لإظهار المكان الصحيح فيه يجب أن يكون المقبس قيد التشغيل. بطبيعة الحال ، سيتم استبدال / directoryPath بالمسار الصحيح. يجب أن يقوم السطر php / php7.0-fpm.sock بتحديث التكوين إذا كنت تستخدم ملف مقبس.

يمكن لمستخدمي مآخذ TCP القديمة التي لا تستخدم ملفات المقابس التحقق مما إذا كان مقبس PHP يستمع حاليًا إلى المنفذ 9000 عن طريق تشغيل sudo netstat -tulpn | grep 9000 خارج سطر الأوامر. إذا كانت هذه هي الحالة ، فافتح fastcgi_pass في nano أو vi أو أي محرر نصوص آخر وقم بتغيير unix:… line لاستخدام 127.0.0.1:9000 بدلاً من ذلك لتحديث المقبس.

إذا لم ينجح أي من هذا ، فتأكد من أن php7.0-fpm أو أي رقم إصدار تستخدمه يعمل باستخدام الأمر sudo systemctl أعد تشغيل php7.0-fpm ، متبوعًا بتكرار العملية المذكورة أعلاه.

ضع في اعتبارك أنه في معظم الظروف ، يتم الاستماع إلى الإدخال والقيمة في يجب أن تكون هي نفسها. قد تحاول للتكوينات الأحدث ، أو 127.0.0.1:9000 للتكوينات ذات الطراز القديم.

2 دقيقة للقراءة