【问题标题】:wsgi user permissions on elastic beanstalk弹性 beantalk 上的 wsgi 用户权限
【发布时间】:2017-08-21 16:55:00
【问题描述】:

我正在使用弹性 beanstalk 和 django。我的 requirements.txt 文件中的一个依赖项有一些设置,它在最初导入时执行。设置的一部分是检查目录是否存在,否则它会创建它。我收到权限错误,因为用户(我假设它是 wsgi)没有创建目录的权限。

OSError: [Errno 13] Permission denied: '/home/wsgi/.newspaper_scraper/memoized'

如何设置权限以允许以一种在我将来创建的实例中持久存在的方式创建这些目录?

【问题讨论】:

标签: python django amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

发生这种情况是因为 uWSGI 工作器在具有有限权限的用户下运行。您需要先创建.newspaper_scraper/memoized 目录,并为其设置正确的权限(允许其他人读/写)。您可以在部署时执行此操作,方法是在 .ebextensions 中创建一个 EB 在部署时执行的脚本。

.ebextensions/setup_newspaper.config 中创建一个文件,并在其中添加以下内容:

.ebextensions/setup_newspaper.config

packages:
  yum:
    libxslt-devel: []
    libxml2-devel: []
    libjpeg-devel: []
    zlib1g-devel: []
    libpng12-devel: []

container_commands:
  01_setup_newspaper:
    command: mkdir -p /home/wsgi/.newspaper_scraper/memoized && chmod 644 /home/wsgi/.newspaper_scraper/memoized


PS:看起来newspaper 需要安装一些额外的包,所以我也添加了它们。


在此处阅读有关 .ebextensions 的更多信息:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-container.html#create-deploy-python-custom-container

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 2017-02-17
    • 2014-12-11
    • 2018-10-14
    • 2015-01-09
    • 2015-05-22
    • 2014-01-26
    • 2015-02-07
    相关资源
    最近更新 更多