Tiết kiệm cùng Tikop với lãi suất 6%/năm

Fix lỗi 502 Bad Gateway trên NGINX khi update PHP 7

cuaninh92

Senior Member
PHP7 mới tung ra và theo như lên tiếng của Zend thì tốc độ được cải thiện chí ít là 2 lần và có khá nhiều bạn muốn thử nhưng lại gặp lỗi 502 Bad Gateway khi dùng NGINX webserver. Đây là một lỗi rất phổ quát của NGINX không cứ cập nhật PHP mới bị. Và với kinh nghiệm của mình thì lỗi 502 Bad Gateway do 4 duyên do chính, mình sẽ giải thích từng nguyên do một trong bài và chỉ dẫn bạn cách khắc phục, chắc chắn sẽ khắc phục lỗi này 100% :D
Nếu bạn nào còn chưa upgrade lên PHP7 thì cũng nên cân nhắc update càng sớm càng tốt bởi vì blog Crazytut mình đã setting PHP 7, cho tốc độ load rất nhanh, mình đã viết bài hướng dẫn upgrade hoặc cài mới PHP7 trên blog magebay multivendor , bạn xem sẽ rõ.
[h=2]Lỗi 502 Bad Gateway này có nghĩa là gì?[/h]Một gateway(cổng) giống như một điểm truy cập, là cầu nối giữa một dịch vụ này với một dịch vụ khác. Trong trường hợp này, gateway có thể source WordPress, Magento chạy trên PHP và đang gửi nhận dữ liệu qua NGINX webserver. thành thử lỗi này có nghĩa là có một vấn đề làm gián đoạn kết nối giữa NGINX và PHP. Vậy cách giải quyết là gì?
[h=2]Cách 1: PHP có đang chạy không[/h]Như mình đã nói ở trên, giả tỉ PHP không chạy thì NGINX không thể kết nối và gây ra lỗi 502 Bad Gateway do đó giải pháp đầu tiền là đánh giá xem PHP có đang chạy không, chạy lệnh sau để đánh giá
f216603b1c2c48659e494c08c3e82801.png

[h=2]Cách 2: PHP đang có đang được cấu hình đúng Port[/h]Như bạn đã biết, các áp dụng trong Linux khi chạy thường kết nối đến một cổng cố định, PHP cũng vậy và thường là cổng 9000. Nếu nó bạn config không đúng cổng PHP cho NGINX thì nó cũng gây ra lỗi 502 Bad Gateway502 Bad Gateway. Bạn có đánh giá trong /etc/php5/fpm/pool.d/www.conf (php5)hoặc /etc/php/7.0/fpm/pool.d/www.conf (php7)
6c2ca613f94640efb21739419de2a39f.png

Như đoạn code bên trên là bạn là cấu hình đúng Port NGINX giống với Port trong PHP, sau đó ghi lại, phát động lại NGINX và PHP xem có được không, nếu không được bạn có thể thay dòng fastcgi_pass 127.0.0.1:9000; bằng fastcgi_pass unix:/var/run/php5-fpm.sock; (php5) hoặc fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; (php7) productsdesignerprosau đó cũng khởi động lại PHP và NGINX, chắc chắn được nếu lỗi do sai Port. Nếu Vẫn không được thì sang cách 3

[h=2]Cách 3: Sửa file cấu hình của NGINX[/h]nhiều khi lỗi này gây ra do chính NGINX vì nó không thể load nổi PHP do một lí do nào đó như server yếu, nhiều người truy cập, … do đó bạn thử tăng giá trị của NGINX lên, thường thì lỗi này mình hay bị khi cài mới NGINX và sa khi tăng là chạy bình thường, bạn mở file /etc/nginx/nginx.conf và thêm giá trị sau vào trong cặp http{}, lưu ý nếu tồn tại các giá trị này rồi thì sửa lại cho giống với của mình nếu khoogn sẽ bị lỗi trùng lặp, đặt như thế này
2b8dcd49027b45d8b3577165128ac613.png

Như vậy là mình là hướng dẫn bạn 3 cách khắc phục lỗi 502 Bad Gateway trên NGINX, mình chắc chắn là tuân theo 3 cách trên sẽ khắc phục được lỗi, có vấn đề gì comment bên dưới mình giúp!
 
Top