Python Gunicorn配置文件在哪里?

Python Gunicorn配置文件在哪里?,python,flask,gunicorn,Python,Flask,Gunicorn,gunicorn文档谈到编辑配置文件,但我不知道它在哪里 可能是一个简单的答案:)我在Amazon Linux AMI上。答案在gunicorn的文档中。 可以使用.ini或python脚本指定配置文件 例如,来自django skel项目 """gunicorn WSGI server configuration.""" from multiprocessing import cpu_count from os import environ def max_workers():

gunicorn文档谈到编辑配置文件,但我不知道它在哪里


可能是一个简单的答案:)我在Amazon Linux AMI上。

答案在gunicorn的文档中。

可以使用.ini或python脚本指定配置文件

例如,来自django skel项目

"""gunicorn WSGI server configuration."""
from multiprocessing import cpu_count
from os import environ


def max_workers():    
    return cpu_count()


bind = '0.0.0.0:' + environ.get('PORT', '8000')
max_requests = 1000
worker_class = 'gevent'
workers = max_workers()
您可以使用

gunicorn -c gunicorn.py.ini project.wsgi
请注意,project.wsgi对应于wsgi的位置。

示例文件如下:

你可以把你不需要的评论出来,然后像这样指着Gunicorn:

gunicorn -c config.py myproject:app

对于默认名称,Gunicorn将查找名为

的配置文件。默认配置是从
站点包/Gunicorn/config.py
读取的

$ python -c "from distutils.sysconfig import get_python_lib; print('{}/gunicorn/config.py'.format(get_python_lib()))"
(output)
/somepath/flask/lib/python2.7/site-packages/gunicorn/config.py
您可以运行
strace
来查看
gunicorn

gunicorn应用程序:应用程序-b 0.0.0.0:5000

$ strace gunicorn app:app -b 0.0.0.0:5000
stat("/somepath/flask/lib/python2.7/site-packages/gunicorn/config", 0x7ffd665ffa30) = -1 ENOENT (No such file or directory)
open("/somepath/flask/lib/python2.7/site-packages/gunicorn/config.so", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/somepath/flask/lib/python2.7/site-packages/gunicorn/configmodule.so", O_RDONLY) = -1 ENOENT (No
such file or directory)
open("/somepath/flask/lib/python2.7/site-packages/gunicorn/config.py", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=53420, ...}) = 0
open("/somepath/flask/lib/python2.7/site-packages/gunicorn/config.pyc", O_RDONLY) = 6
gunicorn-c g_config.py应用程序:应用程序

$ strace gunicorn -c g_config.py app:app
//    in addition to reading default configs, reads '-c' specified config file
stat("g_config.py", {st_mode=S_IFREG|0644, st_size=6784, ...}) = 0
open("g_config.py", O_RDONLY)
不要修改站点包中的配置文件,而是创建本地
gconfig.py
(任意名称)并仅定义要设置非默认值的变量,因为默认配置文件始终处于读取状态

传递为
gunicorn-c gconfig.py

$ cat gconfig.py // (eg)
bind = '127.0.0.1:8000'
workers = 1
timeout = 60
. . .
或者使用命令行选项而不是配置文件:

gunicorn app:app -b 0.0.0.0:5000 -w 1 -t 60
gunicorn配置文件属性/标志:

我在阅读了文档后做了以下操作:


  • 通过gunicorn部署我的应用程序时,通常会有一个名为Procfile的文件
  • 打开此文件,添加--timeout 600
  • 最后,我的Procfile如下所示:


    web:gunicorn app:app--timeout 600

    是的,但是默认值在哪里?您需要创建自己的。如果使用Ubuntu,我建议使用
    /etc
    目录。如何将应用程序的变量/函数导入gunicorn配置文件?我一直收到一个
    导入错误:没有名为X的模块
    值错误:尝试在非包中进行相对导入
    。uwsgi文件呢?我在哪里找到的?或者如果我在哪里创建它,内容是什么?@Sekai默认值请查看。例如,“backlog”的默认值是