问题标签 [django-deployment]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 在 Openshift 上部署
我正在尝试在 Openshift 上部署我的项目。我尝试了一些教程,但没有一个奏效。所以我问你是否有自己的“程序”或一些工作(真正工作)的教程。
apache - 在由 fastcgi 和 apache 托管的 django 应用程序中从 url 隐藏 fcgi 脚本文件名
我有以下.htaccess文件-
和以下index.fcgi文件:
Django 应用程序成功运行,但在 URL 中插入了“index.fcgi”,如下所示 -
www.example.com/index.fcgi/admin 而不是 www.example.com/admin
如何从 URL 中删除脚本名称?
我尝试按照此处的说明进行操作 - http://flask.pocoo.org/docs/0.10/deploying/fastcgi/
但它适用于烧瓶,我无法让它为 Django 运行。
PS - 我在一个共享主机计划中,没有服务器的 root 访问权限。
django - 在heroku上使用nested_inline时collectstatic期间的Django错误
我正在尝试在 heroku 实例上部署一个使用nested_inline的 django 应用程序。一切都在本地运行良好,但在收集静态期间我在 heroku 服务器上遇到错误。
我按照heroku 指南获得了一个最小的 django 设置工作。然后我将“django-nested-inline”添加到我的 requirements.txt,将“nested_inline”添加到我的 INSTALLED_APPS 的末尾,并将“从 nested_inline.admin 导入 NestedModelAdmin,NestedStackedInline”添加到我的 admin.py。
一切仍然在本地完美运行,没有任何问题。但是当我推送到heroku“git push heroku master”时,出现以下错误:
正如它所说,forms-nested.css文件引用了类似的图像nav-bg.gif
,据我所知,这些图像似乎不存在于任何地方。但这并不能阻止 django 和 nested_inline 在本地正常工作。我不确定为什么它会破坏heroku?
django - Nginx 显示 404 并且日志是干净的
我正在尝试使用 Gunicorn 和 nginx 将 django 应用程序部署到 AWS EC2 实例。我遵循了本教程,因为它上次对我有用,但现在不是。
我总是得到 404 响应,即使在静态文件上也是如此。
主管脚本:
gunicorn_start:
Nginx 配置:
nginx 日志为空,主管日志不显示任何错误。同样适用于 nginx 访问日志和错误日志!Nginx 正在以 root 身份运行。尚未创建 DNS 记录。正在使用它的 IP 访问该站点。
django - Django + Nginx中静态的无cookie域
我发现了使用无 cookie 域来提供静态文件的技巧。我的实验表明请求时间(django-debug-toolbar)的 seriuos 下降,这几乎是我想要得到的。
问题是我想在http://static.xxxxx.com
每个静态文件请求中添加“”(例如<img src="http://static.xxxxx.com/..."/>
,但将所有文件保存在与现在相同的位置(使用 CNAME)。
但是我不确定我应该在生产中更改什么:nginx conf 或 django 设置。我尝试更改STATIC_URL
添加http://static.xxxxxx.com
,但徒劳无功 - 一切都被粉碎了。
你能帮我一个建议吗?
提前致谢,祝您有美好的一天
django - Django Channels wss未连接收到404错误
我正在尝试将我的服务器从本地子网移到域中。主要网页正在运行,我将它们放在 SSL 后面。Apache 会重写从任何 HTTP 连接到 HTTPS 的 url。但是,当我尝试从浏览器中连接 javascript 时:
我收到以下错误:
我的 settings.py 配置如下:
编辑(在 APACHE 配置数据中添加):
我的 Apache default.conf 如下(简单重写为 HTTPS):
阿帕奇安全.conf:
编辑发现apache正在接收请求但没有做任何事情 我跟踪了other_vhosts.access.log并发现当我在chrome控制台中创建一个新的websocket时,apache记录了一个GET请求,但似乎没有将它转发到我的django应用程序。
我也有一个工人在运行,一个 redis 服务器设置,并且 daphne 也在运行。如果您能想到任何可能的解决方案,请告诉我
django - https设置后的django站点ERR_SSL_PROTOCOL_ERROR
所以我正在尝试部署我的网站并基本上尝试过
并遵循它告诉我的内容:
基本上在settings.py中将所有这些设置为True并将Debug模式设置为False,然后将SECURE_HSTS_SECONDS = 300
但是,在执行此操作之前我忘记在服务器上设置我的站点,现在当我尝试访问它时,它在浏览器中给了我这个错误:
和 cmd 中的那些:
好的,它清楚地告诉我问题:我不支持 HTTPS,但设置已设置为支持它。但奇怪的是,即使在我删除了所有这些设置之后,网站仍然保持这种状态,我什至无法在开发中使用 DEBUG = True 访问它。
我什至尝试使用 git 恢复到执行此操作之前的版本,但没有帮助。同样的错误仍然存在。现在我真的很担心,也许我只是毁了它?请有人帮助我
django - 将 Django 设置部署到生产环境的推荐方法是什么?
我到处找遍了所有我能找到的都是过时的或来自几个不同来源的零碎,但他们都没有一个完整的步骤来将 Django 部署到生产环境。
我希望看到的是使用 git、本地和生产 settings.py、.gitignore 专门为 Django 部署 Django 的推荐方法。
我将如何实现设置以适应这两种环境以及应该将什么添加到 .gitignore 文件中,以便仅将必要的文件发送到 git 存储库?
请注意,我想了解使用本地和生产设置的最佳实践和最新方法。
部署 Django 应用程序时会出现此类问题。
- 设置应该存储在哪里?
- 如何正确实施设置以适应两种环境?
- 哪些敏感信息应该与主要设置分开?
2016 年 9 月 25 日更新:
感谢andreas澄清这一点,现在我完全同意没有部署 Django 的标准方法。我进行了长时间的研究,发现了最常用的部署 Django 设置的方法。我将与所有有同样疑问的人分享我的发现。
接听
设置应该存储在哪里?
设置更好地容纳在设置模块中,而不是单个settings.py
文件中。
如何正确实施设置以适应两种环境?
这是设置模块非常方便的地方,因为您可以简单地进行环境独立设置,并且可以使用 git 或任何其他版本控制来维护它们。
哪些敏感信息应该与主要设置分开?
敏感信息,例如数据库、电子邮件、密钥和任何与身份验证相关的信息,以及您将如何秘密提供这些私人信息,我建议使用andreas的建议。
您可以创建一个单独的文件/etc/app_settings
并使其非常受限制,或者只是使用系统内的环境变量。
.gitignore 部分
对于 .gitignore 部分,我发现了一个很棒的 repo,您可以在https://github.com/github/gitignore获得各种示例。
我最终使用:
因为答案太长了,所以我创建了一篇文章来解释Django Settings Deployment中的每一步。
python - Django settings.py 没有更新
我已启用设置:
USE_X_FORWARDED_HOST = True
在我的 settings.py 中。我目前正在部署服务器,但是当我尝试呈现我的索引页面时,它给了我一个 404。电子邮件说它是:
Invalid HTTP_HOST header: u'127.0.0.1:9001
在任何人说我需要将它添加到我的 ALLOWED_HOSTS 之前,我已经有了,所以请不要让我远离那个建议。我还收到了一封包含调试错误的电子邮件。当我查看调试信息时,它有一个我的设置列表,并指出:
另一个未更新的字段是我的 ALLOWED_HOSTS。我尝试重新启动 apache2,触摸 wsgi.py,并在包含 settings.pyc 的主应用程序目录中删除 *.pyc。然而,这些都没有奏效。
我的部署的一些背景。我在代理后面有我的 django,因为我使用 django 频道和 apache2 网络服务器作为代理。我还有 daphne 在它后面运行,它接收请求并为它们提供服务。