gunicorn-django-boto-通过S3提供静态文件-如何将AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY设置为环境变量

gunicorn-django-boto-通过S3提供静态文件-如何将AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY设置为环境变量,django,deployment,amazon-s3,gunicorn,Django,Deployment,Amazon S3,Gunicorn,我使用s3来描述我的静态文件并为它们提供服务 STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage' AWS_STORAGE_BUCKET_NAME = 'mybucket' STATIC_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME 我尝试在heroku上部署我的应用程序,为了验证我访问S3的进程,可以将访问凭据设置为:

我使用s3来描述我的静态文件并为它们提供服务

    STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    AWS_STORAGE_BUCKET_NAME = 'mybucket'
    STATIC_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
我尝试在heroku上部署我的应用程序,为了验证我访问S3的进程,可以将访问凭据设置为:

export AWS_ACCESS_KEY_ID=<key ID>
export AWS_SECRET_ACCESS_KEY=<key>
所以我的问题是:如何正确地将凭据设置为env。变量,我可以通过gunicorn访问S3上的文件


请注意,我只想通过gunicorn进程获取凭据。我不想将它们存储在配置中。文件。

我对Web派系一无所知,但boto也会在boto配置文件中查找凭据。默认情况下,它将在
/etc/boto.cfg
~/.boto
中查找。此文件是INI样式的配置文件,您需要像这样添加凭据:

[Credentials]
aws_access_key_id = <key ID>
aws_secret_access_key = <key>
[凭证]
aws\u访问\u密钥\u id=
aws\u密码\u访问\u密钥=

我对Web派系一无所知,但boto也会在boto配置文件中查找凭据。默认情况下,它将在
/etc/boto.cfg
~/.boto
中查找。此文件是INI样式的配置文件,您需要像这样添加凭据:

[Credentials]
aws_access_key_id = <key ID>
aws_secret_access_key = <key>
[凭证]
aws\u访问\u密钥\u id=
aws\u密码\u访问\u密钥=

谢谢您的回答。事实上,我只想通过这个过程的凭据。出于安全考虑,我不想将它们存储在.config文件中。我想知道您是否需要编辑Apache配置文件,以使其拾取AWS_*环境变量并将其传递到WSGI环境?已经有一段时间了,但是httpd.conf文件中不是有SetEnv指令吗?如果您不使用Apache,我想知道是否有一个等效的。我是gunicorn的新手(第一个安装:),我对Apache一无所知。但我解决了我的问题,因为这只是一个用户问题。。我在另一个ssh终端中添加了环境变量,并从另一个终端启动了gunicorn服务器。在设置env.var时,它不起作用。仅适用于每个终端。当我在启动gunicorn的终端中导出/设置凭据时,它将按预期工作。谢谢您的回答。事实上,我只想通过这个过程的凭据。出于安全考虑,我不想将它们存储在.config文件中。我想知道您是否需要编辑Apache配置文件,以使其拾取AWS_*环境变量并将其传递到WSGI环境?已经有一段时间了,但是httpd.conf文件中不是有SetEnv指令吗?如果您不使用Apache,我想知道是否有一个等效的。我是gunicorn的新手(第一个安装:),我对Apache一无所知。但我解决了我的问题,因为这只是一个用户问题。。我在另一个ssh终端中添加了环境变量,并从另一个终端启动了gunicorn服务器。在设置env.var时,它不起作用。仅适用于每个终端。当我在启动gunicorn的终端中导出/设置凭据时,它将按预期工作。