Pywhatsapp(yowsup2 的包装器 - 一个 whatsapp python api)从我的 Django 应用程序发送消息。
from whatsapp import Client
whatsapp_client.send_message(to, message)
当我使用 Django 的默认开发服务器时,上面的代码可以很好地发送消息。但是,当我将代码部署到 AWS beanstalk 并尝试发送消息时,出现相同的代码错误。pywhatsapp 和 yowsup 都已安装并且工作正常。
当我在 eb 实例的 shell(python 管理 shell)中尝试上面的代码时,它发送消息就好了....只是不通过 apache/mod_wsgi。我了解到 apache 不这样做是为了避免安全漏洞。但是,我不知道如何正确解决这个问题。非常感谢任何帮助或指向文档的指针。
我从 AWS 得到的错误:
[Errno 13] Permission denied: '/home/wsgi'
我的 wsgi 文件:
import os
from django.core.wsgi import get_wsgi_application
from mezzanine.utils.conf import real_project_name
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"%s.settings" % real_project_name("vidhaikalam"))
application = get_wsgi_application()
和我的 .ebbeanstalk/02_python.config
option_settings:
"aws:elasticbeanstalk:application:environment":
DJANGO_SETTINGS_MODULE: "vidhaikalam.settings"
"PYTHONPATH": "/opt/python/current/app/vidhaikalam:$PYTHONPATH"
DJANGO_SECRET_KEY: "**********"
DJANGO_NEVERCACHE_KEY: "*********"
"aws:elasticbeanstalk:container:python":
WSGIPath: vidhaikalam/wsgi.py
NumProcesses: 3
NumThreads: 20
"aws:elasticbeanstalk:container:python:staticfiles":
"/static/": "static/"
追溯在这里: