簡體   English   中英

在遠程服務器上運行 node.js/express 應用程序供其他人訪問?

[英]Running a node.js/express app on a remote server for others to access?

我從來沒有做過這樣的事情,所以如果這是一個愚蠢的問題或者應該張貼在其他地方,請原諒我。 我有一個超級簡單的 Hello World 應用程序(用於測試目的),我試圖從遠程 linux(紅帽 7.6)服務器運行它,我使用膩子連接到該服務器,然后能夠從任何機器訪問該頁面(在同一網絡上)。 linux 服務器僅是 CLI,因此它不是虛擬機類型的東西,您可以在其中轉到服務器上的網頁並查看該頁面。

當我從自己的筆記本電腦運行該應用程序並轉到localhost:3000(my-IP-address):3000 ,它工作得很好,但是當它從完全獨立的機器。 它在服務器上運行沒有錯誤,所以我認為代碼沒有任何問題......

這是我的代碼:

var express = require("express"),
    app = express(),
    mongoose = require("mongoose"),
    bodyParser = require("body-parser"),
    methodOverride = require("method-override"),
    http = require("http");

app.use(bodyParser.urlencoded({ extended: true }));
app.set("view engine", "ejs");

app.get("/", function(req, res) {
    res.send("Hello World!");
  });


  app.listen(3000, "0.0.0.0", function() {
    console.log('Server running');
  });

在服務器中,我為防火牆添加了這個(也是我以前沒有使用過的)

iptables -I INPUT 1 -p tcp --dport 3000 -j ACCEPT

但它似乎仍然沒有連接。 我覺得我在某個地方遺漏了一些關鍵步驟,但目前在網上找不到任何其他有效的東西

嘗試 telnet 到該機器中的端口telnet yourIP 3000並查看該端口是否打開,如果不是,那么您必須確保它是打開的 在 aws 中,您通常會更改我相信的規則。(我不建議這通常是因為您會將其公開)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM