أنا مزارع وفي كل طريقة ممكنة ، تهرب من الانتقال النهائي إلى Linux على جهاز الكمبيوتر الخاص بي رغم كل مزاياه. لذلك ، خلال العامين الماضيين استخدمت Docker for Windows لإنشاء أنظمة تشغيل محلية للمشاريع. كي لا نقول أن الشيء مستقر للغاية ، لكنه لم يسبب مشاكل كبيرة حتى في أحد المشاريع على لارافيل بدأ الموقع يتصرف بغرابة:
بعض الطلبات (وأجزاء
مختلفة دائما) عادت مع وجود خطأ. تعذر على البرنامج النصي فتح ملف التخزين المؤقت.
بعد قضاء وقت طويل في البحث عن سبب ، قررت في هذه الحالة التخلي عن Docker ونشر النظام الأساسي تحت WSL في الوضع اليدوي.
نظرًا لأن WSL هو نظام Linux
تقريبًا ، أي - ليس حقا ، الإعداد له خصائصه الخاصة.
بعد تثبيت MySQL و nginx و php7.2 من bash ، تم تكوين خادم ظاهري في nginx ورفض كل هذا العمل. تحتوي سجلات nginx على هذا الإدخال:
connect() to unix:/var/run/php/php7.2-fpm.sock failed (2: No such file or directory) while connecting to upstream
في WSL ، حسب علمي ، لا توجد مآخذ على هذا النحو ، لذلك كان علي القيام بما يلي:
- افتح الملف /etc/php/7.2/fpm/pool.d/www.conf للتحرير ، وقم بتصحيح قيمة توجيه الاستماع
; listen = /run/php/php7.2-fpm.sock ; old value listen = 127.0.0.1:9000 ; new value
- اضبط نفس القيمة في إعداد خادم nginx الظاهري
location ~ \.php$ { ... fastcgi_pass 127.0.0.1:9000; ... }
هذا أعطى نوعا من خادم العمل. يبدو أن كل طلب من معالجة ooooooooooooooooooooooooooooooooooooooooooooooo بالفعل في معظم الوقت المحدد. للتخلص من الفرامل ، كما اتضح فيما بعد ، يجب عليك إضافة سطر إلى الملف /etc/nginx/nginx.conf
http { ... fastcgi_buffering off; ... }
بعد ذلك ، انطلق النظام وأصبح رائعًا حتى الآن.
→ وصفات تم العثور عليها
هناملاحظة: بعد ذلك ، اكتشفت بطريقة ما
طريقة لإطلاق مجموعة من المقابس ، لكن لم أقم بالتحقق منها بعد.
واحد آخر .