首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Django应用程序部署到Deploying灵活环境中

将Django应用程序部署到Deploying灵活环境中
EN

Stack Overflow用户
提问于 2017-01-21 17:32:59
回答 3查看 1.5K关注 0票数 0

我正在尝试将样本应用程序部署到基于教程的Google灵活环境中。但是,部署工作正常,但应用程序无法启动。我收到以下错误消息:

代码语言:javascript
复制
Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error:
[2017-01-21 17:01:14 +0000] [5] [INFO] Starting gunicorn 19.6.0
[2017-01-21 17:01:14 +0000] [5] [INFO] Listening at: http://0.0.0.0:8080 (5)
[2017-01-21 17:01:14 +0000] [5] [INFO] Using worker: sync
[2017-01-21 17:01:14 +0000] [8] [INFO] Booting worker with pid: 8
[2017-01-21 17:01:14 +0000] [8] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/env/lib/python3.5/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
    worker.init_process()
  File "/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/env/lib/python3.5/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/env/lib/python3.5/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/env/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/env/lib/python3.5/site-packages/gunicorn/util.py", line 357, in import_app
    __import__(module)
ImportError: No module named 'mysite'
[2017-01-21 17:01:14 +0000] [8] [INFO] Worker exiting (pid: 8)
[2017-01-21 17:01:14 +0000] [5] [INFO] Shutting down: Master
[2017-01-21 17:01:14 +0000] [5] [INFO] Reason: Worker failed to boot.

正如您在GitHub上看到的(参见上面的链接),/app.yaml文件如下所示:

代码语言:javascript
复制
# [START runtime]
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT mysite.wsgi

beta_settings:
    cloud_sql_instances: <your-cloudsql-connection-string>

runtime_config:
  python_version: 3
# [END runtime]

这样的/mysite/wsgi.py文件:

代码语言:javascript
复制
import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

application = get_wsgi_application()

由于柔性环境处于测试版,我不确定这是否是一个bug。但是,我使用的是来自GitHub的原始应用程序,没有在正式文档之后进行任何更改,所以我希望它能正常工作。

谢谢你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-30 16:08:43

由于Adam (谷歌集团论坛上的Google平台团队成员)暗示这些文件可能没有部署,我将Google从138.0.0更新到141.0.0。现在,一切都很好,如本教程所述。

票数 0
EN

Stack Overflow用户

发布于 2017-01-21 19:34:28

尝试:

entrypoint: gunicorn -b :$PORT mysite.wsgi:application

(假设目录"mysite“与app.yaml位于同一级别。如果wsgi.pyapp.yaml处于同一级别,那么只需::$PORT wsgi:application)

票数 0
EN

Stack Overflow用户

发布于 2017-05-28 05:48:34

确保您的需求得到满足,即将requirements.txt复制到项目的根目录

cloudsql/requments.txt

看上去像这样

代码语言:javascript
复制
Django==1.11.1
mysqlclient==1.3.10
wheel==0.29.0
gunicorn==19.7.1
psycopg2==2.7.1

然后跑

代码语言:javascript
复制
pip install -r requirements.txt

然后部署gcloud应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41782396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档