وب سروری که کانفیگ میکردم Nginx و PHP-FPM بود که موقع باز کردن صفحات وب با خطای 502 Bad Gateway مواجه میشدم. وقتی error لاگ های انجین ایکس را بررسی کردم خطای زیر در log ها نمایش داده میشد.
برای حل مشکل تنظیمات زیر را انجام دادم :
ابتدا با دستور find فایل کانفیگ مربوط به php-fpm را پیدا کردم :
سپس فایل www.conf را که از مسیر بالا پیدا کرده بودم را باز و مقادیر listen.owner و listen.group و listen.mode را پیدا و از کامنت خارج کردم و به جای www-data مقدار nginx را وارد کردم. به خاطر اینکه یوزر پی اچ پی www-data هست و یوزر انجین ایکس nginx هست، و چون وب سرور ما nginx میباشد باید از یوزر nginx استفاده کنیم.
سپس مقدار user و group در فایل بالا که برابر با apache بود، را به nginx تغییر دادم و تنظیمات را ذخیره کردم.
و در نهایت فایل تنظیمات انجین ایکس را باز کرده و مقدار fastcgi_pass php5; را به 127.0.0.1:9000 برای پردازش فایل های php توسط nginx تغییر دهید.
بعد از ذخیره فایل و ریستارت سرویس nginx و php-fpm مشکل برطرف گردید.
کد PHP:
2020/03/22 14:31:24 [crit] 13524#13524: *1 connect() to unix:/var/run/php-fpm/php-fpm.pid failed (13: Permission denied) while connecting to upstream, client: 151.245.20.143, server: mysit.site, request: "GET /info.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.pid:", host: "37.156.145.25"
ابتدا با دستور find فایل کانفیگ مربوط به php-fpm را پیدا کردم :
کد PHP:
find / \( -iname "php.ini" -o -name "www.conf" \)
کد PHP:
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
کد PHP:
user = nginx
group = nginx
کد PHP:
fastcgi_pass 127.0.0.1:9000;
کد PHP:
# systemctl restart nginx
# systemctl restart php-fpm
کامنت