Tôi có ứng dụng Flask mà tôi đang cố gắng phân phát qua Gunicorn.Gunicorn không tải ứng dụng Flask
Tôi đang sử dụng virtualenv và python3. Nếu tôi kích hoạt cd venv tôi để dir cơ sở ứng dụng của tôi sau đó chạy:
gunicorn mysite:app
tôi nhận được:
Starting gunicorn
Listening at http://127.0.0.1:8000
DEBUG:mysite.settings:>>Config()
...
Failed to find application: 'mysite'
Worker exiting
Shutting down: master
Reason: App failed to load
Nhìn trong/etc/nginx/sites-available tôi chỉ có file 'mặc định'. Trong các trang web đã bật, tôi không có tệp nào.
Trong file nginx.conf của tôi, tôi có:
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
App cấu trúc:
mysite #this is where I cd to and run gunicorn mysite:app
--manage.py
--/mysite
----settings.py
----__init__.py
trong manage.py
cho mysite Tôi đã sau:
logger.debug("manage.py entry point")
app = create_app(app_name)
manager = Manager(app)
if __name__ == "__main__":
manager.run()
Trong __init__.py
file:
def create_app(object_name):
app = Flask(__name__)
#more setup here
return app
Trong tôi settings.py
trong thư mục ứng dụng
class Config(object):
logger.debug(">>Config()") #this logs OK so gunicorn is at least starting in correct directory
Từ bên trong virtualenv nếu tôi chạy
print(sys.path)
Tôi tìm thấy một đường dẫn đến python và trang web gói cho virtualenv này.
Từ những gì tôi đã đọc để bắt đầu gunicorn nó chỉ là một vấn đề cài đặt nó và chạy gunicorn mysite: Ứng dụng
Chạy gunicorn từ thư mục cha của mysite Tôi nhận được cùng một thất bại trong việc tìm ứng dụng: 'mysite', Ứng dụng không tải được lỗi nhưng không nhận được DEBUG ... Config() đã đăng nhập (vì chúng tôi rõ ràng nằm trong thư mục sai để bắt đầu). Chạy gunicorn từ mysite/mysite (rõ ràng là sai) Tôi nhận được và Exception trong quy trình công nhân ereor, ImportError: Không có module có tên 'mysite'.
Bất kỳ manh mối nào về cách tôi có thể chạy gunicorn?