Khắc phục Lỗi 502 Bad Gateway: Script Tự Động Khởi Động Nginx, Mariadb, PHP
Lỗi 502 Bad Gateway là một lỗi phổ biến xảy ra khi máy chủ proxy hoặc máy chủ ứng dụng không thể truy cập hoặc xử lý yêu cầu từ máy chủ gốc. Lỗi này có thể do nhiều nguyên nhân, bao gồm:
Máy chủ ứng dụng bị treo hoặc gặp sự cố
Máy chủ gốc không thể truy cập được
Có vấn đề với kết nối giữa máy chủ proxy và máy chủ ứng dụng
Trong một số trường hợp, bạn có thể khắc phục lỗi 502 Bad Gateway bằng cách sử dụng script tự động khởi động Nginx, Mariadb, PHP. Script này sẽ kiểm tra xem máy chủ ứng dụng có đang hoạt động hay không. Nếu không, script sẽ tự động khởi động máy chủ ứng dụng.
Cách tạo script tự động khởi động Nginx, Mariadb, PHP
Để tạo script tự động khởi động Nginx, Mariadb, PHP, bạn cần thực hiện các bước sau:
Mở trình soạn thảo văn bản và tạo một tệp mới.
Thêm mã sau vào tệp:
#!/bin/bash
# Kiểm tra trạng thái của Nginx
if systemctl status nginx | grep -q “Active: inactive (dead)”; then
# Khởi động Nginx
systemctl start nginx
fi
# Kiểm tra trạng thái của Mariadb
if systemctl status mariadb | grep -q “Active: inactive (dead)”; then
# Khởi động Mariadb
systemctl start mariadb
fi
# Kiểm tra trạng thái của PHP
if php -v | grep -q “PHP is not running”; then
# Khởi động PHP
php -S localhost:8000
fi
Lưu tệp với tên “fix-502-bad-gateway.sh”.
Cấp quyền thực thi cho tệp:
chmod +x fix-502-bad-gateway.sh
Thêm tệp vào crontab để script chạy tự động:
crontab -e
Thêm dòng sau vào crontab:
- * * * * /path/to/fix-502-bad-gateway.sh
- Lưu ý
- Thay thế /path/to/fix-502-bad-gateway.sh bằng đường dẫn đến tệp script của bạn.
- Bạn có thể thay đổi thời gian chạy của script theo nhu cầu của mình.
- Kết quả
- Sau khi tạo và thêm script vào crontab, script sẽ chạy tự động mỗi phút. Nếu máy chủ ứng dụng bị treo, script sẽ tự động khởi động lại máy chủ ứng dụng. Điều này sẽ giúp bạn khắc phục lỗi 502 Bad Gateway và khôi phục hoạt động của website.
- English
- Fix 502 Bad Gateway Error: Script to Auto-Restart Nginx, Mariadb, PHP
- 502 Bad Gateway is a common error that occurs when a proxy server or application server cannot access or process a request from the origin server. The error can be caused by a variety of factors, including:
- The application server is down or experiencing an error
- The origin server is not accessible
- There is a problem with the connection between the proxy server and the application server
- In some cases, you can fix the 502 Bad Gateway error by using a script to automatically restart Nginx, Mariadb, PHP. This script will check to see if the application server is up and running. If not, the script will automatically restart the application server.
- How to create an auto-restart script for Nginx, Mariadb, PHP
- To create an auto-restart script for Nginx, Mariadb, PHP, follow these steps:
- Open a text editor and create a new file.
- Add the following code to the file:
- #!/bin/bash
# Check the status of Nginx
if systemctl status nginx | grep -q “Active: inactive (dead)”; then
# Restart Nginx
systemctl start nginx
fi
# Check the status of Mariadb
if systemctl status mariadb | grep -q “Active: inactive (dead)”; then
# Restart Mariadb
systemctl start mariadb
fi
# Check the status of PHP
if