javascript - 在 Digital Ocean 上启动 Node.js 服务器

标签 javascript node.js server digital-ocean droplet

我在 Digital Ocean 上创建了一个 Node.js Droplet。

我已使用 FileZilla 连接到服务器并上传了所有 Node.js 文件(index.js、package.json 等)。

我正在尝试使用 node index.js 启动服务器。它说

App is running at http://localhost:3000 in development mode
  Press CTRL-C to stop

但是,我无法在 Digital Ocean 提供的公共(public) IP 地址和 localhost:3000 上看到该网站。

如何正确启动Node.js服务器?

编辑

我正在用这个(index.js 的内容)设置服务器:

const express = require('express');

const app = express();

app.set('port', process.env.PORT || 3000);

app.listen(app.get('port'), () => {
  console.log('App is running at http://localhost:%d in %s mode', app.get('port'), app.get('env'));
  console.log('  Press CTRL-C to stop\n');
});

最佳答案

首先,您要通过在同一台机器上打开另一个终端并执行 curl 来确保一切正常运行。

curl http://localhost:3000

在您确认可以正常工作后,您必须在机器上打开相应的端口。

让我们通过运行以下命令查看当前打开了哪些端口。

sudo ufw status verbose

如果未列出端口 3000,请使用以下命令添加它。

sudo ufw allow 3000/tcp

再次运行 ufw status 验证端口 3000 是否已添加。

sudo ufw status verbose

关于javascript - 在 Digital Ocean 上启动 Node.js 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46032280/

相关文章:

c - 如何检查是否在 C Linux 中收到 UDP 数据包

java - 应该如何将 tomcat 与现有项目一起使用?

javascript - 链接index.html client.js 和 server.js

javascript - 如何在 Node.js 中模拟所需的文件?

javascript - 单独函数中的 HTTP 请求[node.js/expressjs]

javascript - Node.js,等待所有 Redis 查询完成后再继续执行

node.js - Mocha.js:如何使用 Mongoose 测试随后的保存和删除

javascript - Vue 多选不允许创建新标签

javascript - 调用一个获取 API 并呈现返回值的函数,Promises 出现问题

javascript - 使用 Greasemonkey/Tampermonkey 保存数据供以后检索