Mình gặp lỗi này khi chạy project Python của mình, dưới đây là file gunicorn.conf mà mình sử dụng. Các bạn tham khảo để kiểm tra lỗi.
user@server:~$ sudo nano /etc/supervisor/conf.d/gunicorn.conf Nội dung: [program:project1] directory=/home/user/django_project/project1 command=/home/user/django_project/project1_env/bin/gunicorn project1.wsgi:application --workers 3 --bind 127.0.0.1:8080 --log-level info stdout_logfile = /home/user/django_project/logs/access.log stderr_logfile = /home/user/django_project/logs/error.log stdout_logfile_maxbytes=5000000 stderr_logfile_maxbytes=5000000 stdout_logfile_backups=100000 stderr_logfile_backups=100000 autostart=true autorestart=true startsecs=10 stopasgroup=true priority=99
Khi chạy Supervisor với lệnh
user@server:~$ sudo supervisorctl status project1 Lỗi project1: ERROR (spawn error)
Mình đã kiểm tra lỗi ở trong file log của supervisor bằng lệnh:
user@server:~$ sudo nano /var/log/supervisor/supervisord.log
Và lỗi trả về nó như thế này
2023-04-05 09:15:08,116 INFO exited: budgetpro (exit status 3; not expected) 2023-04-05 09:15:18,132 INFO spawned: 'budgetpro' with pid 11531 2023-04-05 09:15:19,389 INFO exited: budgetpro (exit status 3; not expected) 2023-04-05 09:15:20,392 INFO gave up: budgetpro entered FATAL state, too many start retries too quickly 2023-04-05 09:17:38,486 INFO spawned: 'budgetpro' with pid 11545
Mình tưởng lỗi này nằm trong file gunicorn.conf và mình đã cố gắng tìm kiếm cái dấu chấm phẩy (;) trong file đó xem có phải lỗi do cú pháp không? Nhưng không phải thế. Cuối cùng hóa ra vấn đề nó nằm ở đây:
- Lỗi này trả về khi supervisor bắt lỗi từ Python
- Chương trình project1 của mình vẫn chạy, do đó mình phải xem lỗi ở file /home/user/django_project/logs/error.log như đã khai báo ở trên
- Sau khi xem error.log mình đã hiểu và giải quyết được vấn đề. Đó là đường dẫn thư mục của mình bị sai
Tất nhiên lỗi các bạn gặp phải sẽ khác lỗi của mình, mục đích của bài này giúp các bạn chỗ có thể tìm được lỗi chính xác.
Bài viết sử dụng Ubuntu 20.0.4 . Chúc các bạn thành công