gunicorn flask 跑不起来


from flask import Flask
import config
from exts import db
from apps.cms import bp as cms_bp
from apps.common import bp as common_bp
from apps.front import bp as front_bp
from flask_wtf import CSRFProtect


def create_app():
    app = Flask(__name__)
    # 配置信息
    app.config.from_object(config)
    # 注册蓝图
    app.register_blueprint(cms_bp)
    app.register_blueprint(front_bp)
    app.register_blueprint(common_bp)
    db.init_app(app)
    CSRFProtect(app)
    return app


if __name__ == '__main__':
    app = create_app()
    app.run(port=5000)
    # app.run(host='0.0.0.0', port=8080)

在终端我输入gunicorn -w 1 -b 127.0.0.1:5000 --access-logfile ./logs/log main:app

跑不起来

提示:

[2023-06-12 15:37:53 +0800] [3649] [INFO] Starting gunicorn 20.1.0
[2023-06-12 15:37:53 +0800] [3649] [ERROR] Connection in use: ('127.0.0.1', 5000)
[2023-06-12 15:37:53 +0800] [3649] [ERROR] Retrying in 1 second.
[2023-06-12 15:37:54 +0800] [3649] [ERROR] Connection in use: ('127.0.0.1', 5000)
[2023-06-12 15:37:54 +0800] [3649] [ERROR] Retrying in 1 second.
[2023-06-12 15:37:55 +0800] [3649] [ERROR] Connection in use: ('127.0.0.1', 5000)
[2023-06-12 15:37:55 +0800] [3649] [ERROR] Retrying in 1 second.
[2023-06-12 15:37:56 +0800] [3649] [ERROR] Connection in use: ('127.0.0.1', 5000)
[2023-06-12 15:37:56 +0800] [3649] [ERROR] Retrying in 1 second.
[2023-06-12 15:37:57 +0800] [3649] [ERROR] Connection in use: ('127.0.0.1', 5000)
[2023-06-12 15:37:57 +0800] [3649] [ERROR] Retrying in 1 second.
[2023-06-12 15:37:58 +0800] [3649] [ERROR] Can't connect to ('127.0.0.1', 5000)

从错误提示可以看出,gunicorn 启动失败的原因是:端口 5000 已被占用。
建议你检查一下端口情况,或者直接换一个端口试试

  • 以下回答由chatgpt基于相关博客总结生成:

    由于问题没有具体描述报错信息,我无法给出具体解决方案。但可以根据参考资料分析可能遇到的问题和解决方法。

    根据参考资料中的问题描述,可能是在Flask中使用RotatingFileHandler或TimeRotatingFileHandler的时候出现了冲突,导致另一个程序正在使用此文件,进程无法访问。

    解决方法可以参考参考资料中的建议:将日志按照文件大小轮转,并使用进程安全的concurrent-log-handler库替代原有的RotatingFileHandler或TimeRotatingFileHandler。

    安装concurrent-log-handler的命令:

    pip install concurrent-log-handler
    

    详细的使用方法可以参考参考资料中的链接。

    另外,根据问题描述,可能还需要检查是否已经安装了gunicorn和flask库,是否已经创建好了main.py文件并配置好app对象,以及是否已经创建好了logs文件夹。如果以上步骤都已经完成,可以查看具体的报错信息,以便更好地帮助解决问题。