gpt4 book ai didi

node.js - 如何将我的node.js服务器指向域名? (我也使用socket.io)

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:48 25 4
gpt4 key购买 nike

这是我的服务器代码:

var static = require('node-static');
var http = require('http');
var file = new(static.Server)();
var app = http.createServer(function (req, res) {
file.serve(req, res);
}).listen(2013);


然后,我得到了更多与socket.io有关的代码。
我也刚在gandi.net注册了一个域名。

因此,gandi.net给了我输入DNS的选项。
我究竟如何找到从计算机输入的正确DNS?

我通常的运行方式是Windows控制台上的node server.js。然后,在浏览器的地址栏中,我只是执行localhost:2013,或者如果要从我的wifi网络上的另一台设备访问它,则可以通过在控制台中键入ipconfig来查找ipv4地址。然后在其他设备中输入该地址,然后在端口中输入:2013。

那么,如何使用自己的域名运行该服务器呢?

我知道我将获得一台真正的永久服务器,但是现在我只想知道如何从我的计算机上运行它。

最佳答案

在想了几周相同的事情之后,我想我得到了答案。看看这是否可以帮助您。

简短答案This video是我的答案。如果您不在Windows上,也可以选择this onethis one,或再次选择this right here



长答案

只是为了在这里为广大读者总结这个问题:您已经弄清楚了如何在计算机上运行node.js。您正在使用命令行通过键入“ node server.js”来启动计算机上的节点服务器(如果“ server.js”是您命名包含服务器代码的文件的名称)。您可能在服务器文件中选择了一个端口号(一个数字,如3000或9000),以便您可以通过输入localhost:3000或localhost:9000通过浏览器访问您的工作。 (可选)您还可以让您的nodejs应用程序使用某种类型的socket.io连接,以便在服务器文件中以及每次打开localhost:3000或localhost:9000(或您使用的任何端口)中创建一个房间通过浏览器使用),它将创建一个新用户并将其添加到会议室。一切都很好!
现在,您想要的是使该功能可以访问网络,而不仅仅是您的计算机。因为如果有人用不同的计算机在浏览器中键入“ localhost:3000”(或其他端口),那么他们会看到有关其本地计算机的信息,而不是您在计算机上构建的精妙的东西。通过相同的URL访问。因此,您希望将您的工作放到网上,可以通过诸如coolnodejsstuff.com之类的域名进行访问。但是您想知道如何使计算机上的server.js代码指向域名。在server.js代码中写出域名的URL似乎没有帮助!

这是我遇到的事情:您需要的是将在线运行的服务器(而不是在计算机中)。这与您购买域名托管服务时相似,不同之处在于,当您申请简单托管服务时,您对服务器功能的访问权限很小。您需要寻找的是一台专用服务器,以便您可以在该服务器上手动安装东西(例如nodejs等),就像通过命令行在计算机上安装nodejs时可能要做的那样。然后,您将所有文件上传到专用服务器上,并在服务器上安装所需的文件(nodejs等)。nodejs应用程序始终指向其运行的计算机上IP地址的“本地主机”。当您获得专用服务器时,它会附带一个IP地址。这就是上传文件的指向,这意味着,如果您正确安装了所有程序,并且正确启动了服务器,那么如果您在URL字段中输入专用服务器的IP地址,则应该能够通过浏览器访问nodejs应用程序(后跟冒号和您在代码中指定的端口)。
但是,您希望人们通过有意义的URL(而不是一堆数字)访问您的节点应用程序,但您希望该应用程序指向人们更容易记住的域名。为此,您只需要更改域名信息(只要您自己拥有),即可与购买专用服务器的人的要求相匹配。

好的,但是您实际上是怎么做的呢?

Here是我从中找到解决方案的视频。它很好地解释了我上面刚刚说的所有内容。如果遵循这些说明,则应该可以在不到一个小时的时间内使节点应用程序联机。它主要是为Windows用户制作的,因此使用的某些软件在linux上可能不那么出色(putty,winscp等)。
但是这些其他视频更适合Mac观众(顺便说一句,腻子的Linux替代品是Flightplan,因此,如果这些视频不能帮助您在那里的Linux用户,只需使用“ deploy nodejs flightplan”之类的字词进行快速的Google搜索')


1.Spin up a server2.Provision server & setup flightplan
How to deploy a node.js app


轶事我的应用程序无法工作,直到我更改了在server.js文件中传递端口号的方式,以匹配视频中的示例。
我相信我是在说

var app = express();
var server = app.listen("3000");


我将其更改为后开始工作

var app = express();
var server = app.listen(process.env.PORT || 3000);


而且,如果您使用的是socket.io连接,则可能必须从客户端启动连接。做 var socket = io.connect();就足够了!您不需要传递'localhost:3000'内容,因为默认情况下它将遵循localhost路径。

那里!你应该被设置!如果这有点冗长和罗word,我深表歉意。我只是希望有人在我努力寻找答案时,会以类似的方式为我解决这个问题!

无论如何,我希望这对某人有用!

关于node.js - 如何将我的node.js服务器指向域名? (我也使用socket.io),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29885139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com