توصيف حزمة php-fpm + nginx تحت WSL

أنا مزارع وفي كل طريقة ممكنة ، تهرب من الانتقال النهائي إلى 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 ، حسب علمي ، لا توجد مآخذ على هذا النحو ، لذلك كان علي القيام بما يلي:

  1. افتح الملف /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 
  2. اضبط نفس القيمة في إعداد خادم nginx الظاهري

     location ~ \.php$ { ... fastcgi_pass 127.0.0.1:9000; ... } 

هذا أعطى نوعا من خادم العمل. يبدو أن كل طلب من معالجة ooooooooooooooooooooooooooooooooooooooooooooooo بالفعل في معظم الوقت المحدد. للتخلص من الفرامل ، كما اتضح فيما بعد ، يجب عليك إضافة سطر إلى الملف /etc/nginx/nginx.conf

 http { ... fastcgi_buffering off; ... } 

بعد ذلك ، انطلق النظام وأصبح رائعًا حتى الآن.



→ وصفات تم العثور عليها هنا

ملاحظة: بعد ذلك ، اكتشفت بطريقة ما طريقة لإطلاق مجموعة من المقابس ، لكن لم أقم بالتحقق منها بعد. واحد آخر .

Source: https://habr.com/ru/post/ar454816/


All Articles