当前位置: 首页 > 知识库问答 >
问题:

在虚拟服务器上部署NodeJ的问题

秦博达
2023-03-14

我有一个NodeJs应用程序,在我的本地机器上运行良好。

现在,我想将它部署在具有给定IP和给定超文本传输协议地址的虚拟机上。

假设服务器的ip地址和http地址分别为134.00.00.00和134.00.00http://server-virtualmachine.is.fr

我能够通过ssh连接到此服务器,并将我的节点JS应用程序发送到 /var/www/

服务器的主文件是app。所以我执行了下面的命令行来运行服务器。

node app.js

输出为:

App listening on port 3030 with adress 134.00.00.00

我没有错误。但是,通过在http://134.00.00.00:3030或http://server-virtualmachine.is.fr:3030直接在浏览器上检查,连接没有建立,我的浏览器最终显示了这条消息:

134.00.00.00 took too many times to answer

如果我不写端口就去地址(http://134.00.00.00),我有以下信息:

Not Found
The requested URL / was not found on this server.

然后,为了找出问题所在,我试着建立一个hello world示例文件。

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(3030, '134.00.00.00');
console.log('Server running at 134.00.00.00:3030');

出现了同样的问题。但是,我打开了一个新选项卡,打开了一个新的SSH连接,并执行了以下命令行:

curl http://134.00.00.00:3030

出乎意料的是,我的终端上出现了“Hello world”

我不是很喜欢服务器,我试着自己去理解,但现在我不明白这个问题以及如何解决它。

我想让我的NodeJs应用程序在虚拟机上运行,而不是在本地机器上运行。

有什么见解吗?

提前感谢您的帮助。

共有1个答案

林修真
2023-03-14

感谢Ebrahim Pasbani,我可以看到我的端口3030没有打开。为了检查这一点,我使用了以下命令行:

nmap ip 

更具体地说,是nmap-p3030 ip

我打开它,现在它工作了。

 类似资料:
  • 在sites-available目录中创建新的虚拟服务器。 为此新虚拟服务器配置并指定单独的SQL数据库。 将此虚拟服务器链接到启用站点(sites-available)的目录。 在client.conf文件中将VPN服务器定义为客户端,并使用virtual_server指令强制将此新虚拟服务器用于RADIUS请求。 sites-available目录下的buffered-sql虚拟服务器可以用作

  • FreeRADIUS 2.x分支的一个主要新功能是引入虚拟服务器。 这个概念并不新鲜,并且在2.x分支诞生时已经被Web服务器使用。 然而,freeradius是第一个将虚拟服务器引入到radius中的。 本章将更深入地了解RADIUS中虚拟服务器的世界。 在本章中,我们将: 了解您使用虚拟服务器的原因 了解如何定义和启用虚拟服务器 探索监听和客户端部分 发现预定义的虚拟服务器 让我们继续吧...

  • 问题内容: 我正在通过Grunt在端口9000上本地运行一个node.js服务器。我也有一个正在运行的虚拟机(vmware),但是我无法通过该虚拟机访问节点服务器。我已经配置了VM以通过localhost访问主机上的Apache服务器,但是:9000给出了“未找到”。 有人知道怎么做吗? 问题答案: 得到它了!在我的项目文件中,有以下设置: 我所要做的就是要改变到和重新启动。

  • 关于aiohttp服务器部署,这里有以下几种选择: 独立的服务器。 使用nginx, HAProxy等反向代理服务器,之后是后端服务器。 在反向代理之后在部署一层gunicorn,然后才是后端服务器。 独立服务器 只需要调用aiohttp.web.run_app(),并传递aiohttp.web.Application实例即可。 该方法最简单,也是在比较小的程序中最好的解决方法。但该方法并不能完全

  • 预先定义的虚拟服务器 FreeRADIUS包括站点可用子目录下的虚拟服务器。有些可以按原样使用,而有些则是用于特殊要求的模板。以下是一些虚拟服务器: buffered-sql:此虚拟服务器用于克服大型SQL数据库(type = detail)的速度限制。 copy-acct-to-home-server:此虚拟服务器可用作模板,用于在两个位置记录一个计费请求(type = detail)。 coa

  • 尽可能把client和server部署在同一台机器上,比如都部署在app server,或者一个网段中,减少网络延迟对于redis的影响。 如果是同一台机器,又想榨干redis性能可以考虑采用UNIX domain sockets配置方式,配置方式如下 # 0 = do not listen on a port port 0 # listen on localhost only bind 127.