【问题标题】:How to run node and django server at a time如何同时运行节点和 django 服务器
【发布时间】:2023-04-10 10:57:01
【问题描述】:

我正在制作一个视频聊天应用程序,我将在其中使用来自 npm 的 Web 套接字,并且我已经在 server.js 文件中编写了 WebSocket 相关代码,如下所示

var webSocketServ = require('ws').Server;


var wss = new webSocketServ({
    port: 8000
})

var users = {};
var otherUser;
wss.on('connection', function (conn) {
    console.log("User connected");

    conn.on('message', function (message) {
        var data;
        .
        .
        .
     and so on

为了管理 URL,我使用了 Django, 所以我的问题是当我使用 python manage.py runserver 时,server.js 没有运行并且应用程序没有连接到服务器,如果我运行“node server.js”应用程序正在连接到服务器但我无法管理 URL在 Django 代码中

所以我打开了两个终端实例并在一个终端中运行 node 并在另一个终端中运行 python 但我知道它不是正确的方式并且在托管时它不会有效

有没有办法同时运行两台服务器?

【问题讨论】:

    标签: python node.js django web-development-server


    【解决方案1】:

    如果您需要两台服务器看起来在同一个端口上运行,您需要设置一台以将某些请求代理到另一台。 (我建议让 Node.js 服务器使用例如https://github.com/http-party/node-http-proxy 将所有非 websocket 代理到 Django)。

    如果您不需要两个服务器在同一个端口上运行,只需将它们更改为使用不同的端口,在这种情况下,您将访问不同 URL 上的两个内容。您可以在 Node 应用程序或 Django 的 runserver 中更改 port: 8000,例如runserver 127.0.0.1:8010(或 0.0.0.0:8010 将开发服务器暴露在您自己的机器之外)。

    【讨论】:

    • 好的,谢谢您的建议。我不需要两个服务器的相同端口,所以我在 2 个不同的终端中使用 2 个不同的端口,但是在托管时我可以使用 2 个不同的服务器吗?
    • 是的,取决于您使用的主机。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2020-03-17
    相关资源
    最近更新 更多