我正在尝试在heroku上运行我的第一个django应用程序,我设法成功部署了该应用程序,除了Web套接字之外,一切都正常。在本地,我在内存通道中使用,一切都正常。我在内存通道和redis中尝试了heroku,但都不起作用。我尝试了许多不同的配置,但我无法找出任何有效的解决方案。Heroku日志也没有给我任何可能出错的线索...
我在浏览器中得到的错误:
join_game.js:222 WebSocket connection to 'wss://battleships-war.herokuapp.com/game/20' failed: Error during WebSocket handshake: Unexpected response code: 404
Javascript 客户端代码:
[我尝试了ws和wss前缀,都崩溃了]
var ws = new WebSocket((window.location.protocol == 'http') ? 'ws://' : 'wss://' + window.location.host + '/game/' + gameId);
settings.py中的redis配置
CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
"hosts": [('ec2-34-254-133-4.eu-west-1.compute.amazonaws.com', 26849)],
},
'ROUTING': 'battleships.routing.channel_routing',
}, }
在本地工作的内存配置中可选:
CHANNEL_LAYERS = {
'default': {
'BACKEND': 'asgiref.inmemory.ChannelLayer',
'ROUTING': 'battleships.routing.channel_routing',
},
}
来自heroku的redis凭据:
Procfile:
web: gunicorn battleships.wsgi --preload
heroku日志:
2019-01-14t 21:06:52.847189 00:00 heroku[web . 1]:状态从up更改为Starting 2019-01-14t 21:07:00.911326 00:00 heroku[web . 1]:使用命令< code>gunicorn战舰. wsgi - preload启动进程2019-01-14t 21:07:04.629926 01 protocol = http 2019-01-14t 21:08:01.604730 00:00 heroku[路由器]:at = info method = GET path = "/game/22/dfgdfgdfgdf " host =战舰-war . heroku app . com request _ id = d4c 9 a 31 a-0dc 6-436 a-b35b-054 e 94770 a5e FWD = " 80 . 49 . 199 . 124 " dyno = web . 1 connect = 0
有人能帮我做这件事吗,或者建议一种不同的方法?
我不认为gunicorn
支持asgi
(我不确定)。但是,我做到了,而且成功了。请记住,我没有使用通道层:
asgi.py
import os
import django
from channels.routing import get_default_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
django.setup()
application = get_default_application()
procfile
web: daphne project.asgi:application --port $PORT --bind 0.0.0.0
我正在尝试将我的JavaSpring Boot Web应用程序部署到Heroku。 要在本地启动它,我运行: 然后 因此,我为Heroku创建了Procfile: 我使用Heroku-Github集成,应用程序从Github部署到Heroku。所以我就把它推到那里。 但应用程序不会启动。 给我: 不显示目录。 我认为Heroku没有构建这个应用程序。但是我做错了什么?提前感谢您的建议!
我正在用Django模板的两个勺子制作一个Django应用程序。得到这个Heroku错误,我的Postgres生产设置关闭了吗? > 操作错误/无法连接到服务器:连接被拒绝服务器是否运行在主机“localhost”(127.0.0.1)上并接受端口5432上的TCP/IP连接? 异常位置: 工头开工良好 procfile: local.py设置: DATABASES={'default':{'en
我想将数据发送到一个WebService,但它没有返回一个有效的反馈,并且在字符串上显示错误。我正在使用KSOAP2。 null 对象已收集无法计算org.ksoap2.serialization.soapobject.ToString() 如果一切正常,它应该给我一个'OK',但是WebService返回一个XML(responseDump): <?XML Version=“1.0”encodi
问题内容: 有什么方法可以配置多个工作进程和/或Web进程以在单个Heroku应用程序容器中运行?还是必须将其分解为多个Heroku应用程序? 例如: 问题答案: 所有进程必须具有唯一的名称。 此外,名称 和 无关紧要,没有特殊含义。 唯一带有重要名称的进程是该进程,如Heroku文档中所述: Web进程类型是特殊的,因为它是唯一将从Heroku路由器接收HTTP流量的进程类型。其他过程类型可以任
问题内容: 我已经编写了一个基本的node.js应用程序,并且设法将其部署在Heroku上没有任何问题。我创建了 package.json 和 Procfile ,但是从日志中看到没有正在运行的进程,因此无法获得任何响应。可能是什么问题呢? PS: 我不想使用 Express 框架 我的代码: 我的package.json: 日志: 问题答案: 您已缩放heroku应用程序了吗? 这是必需的步骤。
注意:这里有类似的问题,但没有一个解决方案对我有效。我花了几天的时间想把它弄好。 我已经将一个WAR文件部署到Tomcat,“Tomcat Web Application Manager”显示它已经启动。当我点击web应用程序“/forecaster”时,我得到一个404错误。web应用程序在从调试器(IntelliJ)运行时工作。WAR文件名为“forecaster.WAR”,我尝试过的路径是: