Tôi đang cố gắng chạy Gunicorn từ Giám sát viên trong hệ thống Ubuntu 12.04. Gunicorn chạy một ứng dụng Flask (dịch vụ web REST đơn giản được thử nghiệm với máy chủ nhúng của Flask). Tôi đã cài đặt Gunicorn bằng cách clonning GIT repo, cố gắng tránh 'apt-get install' vì nó chạy Gunicorn server khi cài đặt nó. Tôi không muốn nó chạy, nó sẽ được điều hành bởi Giám sát viên.Người giám sát không làm việc với Gunicorn + Flask
Vì vậy, sau khi cài đặt nó, nếu tôi cố gắng:
cd /usr/local/bin
gunicorn my_app:app -c /path/to/gu_config_file
Gunicorn hoạt động. Sau đó tôi giết nó. Lưu ý tệp cấu hình không có phần mở rộng, vì phần mở rộng '.py' không hoạt động đối với tôi. Vì vậy, tôi chỉnh sửa tập tin cấu hình Supervisor của như:
[program:gunicorn]
command=/usr/local/bin/gunicorn my_app:app -c /path/to/.gu_setup
directory=/usr/local/bin/
autostart=true
autorestart=true
redirect_stderr=True
Và cập nhật những thay đổi trong Supervisor:
supervisorctl reread
# gunicorn: changed
supervisorctl update
# gunicorn: stopped
# gunicorn: updated process group
Phát hiện những thay đổi trong tập tin và làm việc cho chương trình Gunicorn. Ok, nhưng sau đó tôi cố gắng để bắt đầu nó:
supervisorctl start gunicorn
Bắt một khó chịu:
gunicorn: ERROR (abnormal termination)
Kiểm tra log giám sát của:
2013-03-08 13:07:22,378 INFO spawned: 'gunicorn' with pid 3355
2013-03-08 13:07:22,916 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:23,918 INFO spawned: 'gunicorn' with pid 3361
2013-03-08 13:07:24,492 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:26,496 INFO spawned: 'gunicorn' with pid 3367
2013-03-08 13:07:27,078 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:30,085 INFO spawned: 'gunicorn' with pid 3373
2013-03-08 13:07:30,628 INFO exited: gunicorn (exit status 3; not expected)
2013-03-08 13:07:31,630 INFO gave up: gunicorn entered FATAL state, too many start retries too quickly
Tôi không biết phải làm gì ngay bây giờ .. . Bạn có thể giúp tôi được không? Thx rất nhiều!
EDIT: xin lỗi tôi quên nói rằng tôi đã xuất khẩu biến PYTHONPATH như:
export PYTHONPATH=/usr/local/bin:/usr/local/lib/project
'my_app' là trong/usr/local/bin. Đường dẫn lib là cần thiết cho các mô-đun khác. Tôi cũng đã chỉnh sửa tập tin Cấu hình giám sát để chỉ biến môi trường, như:
environment=PYTHONPATH=/usr/local/bin:/usr/local/lib/project/
Nhưng không hoạt động.
EDIT 2: như @robertklep đề nghị trong bình luận của ông, đây là dữ liệu ghi nhận của:
Traceback (most recent call last):
File "/tmp/gunicorn/gunicorn/arbiter.py", line 485, in spawn_worker
worker.init_process()
File "/tmp/gunicorn/gunicorn/workers/base.py", line 100, in init_process
self.wsgi = self.app.wsgi()
File "/tmp/gunicorn/gunicorn/app/base.py", line 103, in wsgi
self.callable = self.load()
File "/tmp/gunicorn/gunicorn/app/wsgiapp.py", line 25, in load
return util.import_app(self.app_uri)
File "/tmp/gunicorn/gunicorn/util.py", line 369, in import_app
__import__(module)
File "/usr/local/bin/my_app.py", line 4, in <module>
import const
ImportError: No module named const
2013-03-08 13:29:35 [3670] [INFO] Worker exiting (pid: 3670)
2013-03-08 13:29:36 [3665] [INFO] Shutting down: Master
2013-03-08 13:29:36 [3665] [INFO] Reason: Worker failed to boot.
'const' mô-đun là trong usr/local/lib/dự án/...
Vâng, tôi đã làm điều đó và đang chỉnh sửa câu hỏi của tôi cùng lúc bạn trả lời tôi ... xin lỗi! Tôi đang làm những gì bạn nói, chờ đợi! :) –
Vì vậy, cho tôi biết nó không thể tìm thấy mô-đun 'const', nhưng nó nằm trong/usr/local/lib/project, được thêm vào môi trường trong tập tin cấu hình của Supervisor ... –
Xem chỉnh sửa của tôi về việc chuyển đường dẫn trực tiếp tới gunicorn. – robertklep