簡體   English   中英

如何將 node.js 文件連接到我的真實網站(不是本地主機)?

[英]How can I connect node.js file to my real website (not localhost)?

我正在研究 node.js 並且在本地主機上我可以完美地完成以下練習,但是當我嘗試在我的真實網站上進行時它失敗了。 經過數小時的搜索,我不確定我錯過了什么。 Anyhelp將不勝感激。

var http = require("http");
var fs = require("fs");

var server = http.createServer(function(req, res){
  res.writeHead(200, {"Content-type":"text/html"});
  if (req.url === "/contact") {
     var myReadStream = fs.createReadStream(__dirname+"/contact.html", "utf8");
     myReadStream.pipe(res);
     };
}); 
server.listen("https://mywebsite.com");

更多關於設置

我有 2 個文件,一個是 contact.html,它是簡單的 html 頁面,帶有“hello world”。 另一個文件是 myExpress.js 文件,其中包含上述代碼,僅此而已。 當我在本地主機上進行上述練習時,我正在更改 server.listen(3000, "127.0.0.1") 並且它運行良好,但我在我的網站上這樣做它不起作用。 我正在使用 filezilla 加載文件。

server.listen 中的端口需要不同。 將其更改為您的主機提供的 - 請提供更多信息。

例子:

server.listen(3000) Listens on port 3000 on localhost
server.listen(process.env.PORT) Listens to the port - can be used for a hoster like heroku

您的問題非常廣泛 - 但是,我將提到幾個高級步驟,以便為真正的 Internet 流量運行您的腳本。

  1. 你需要一個面向真實互聯網的服務器。 它應該能夠運行 node.js。 這可以從托管服務提供商處租用。

  2. 你需要一個域名。 您可以從域名注冊商處獲得一份。 然后,您需要通過 DNS 設置將您的域指向您的服務器。

  3. 您需要將您的腳本放在服務器中(希望它正確地面向 Internet)並監聽 80 端口。

HTTP 和 HTTPS 服務器是不同的協議,因此您需要額外的步驟來創建它。

server.listen也接受地址和端口,而不是協議。

最后:在生產環境中公開原始 Node 應用程序並不是一個好主意(例如關閉連接、隊列管理)。 推薦的方法是在 Nginx/Apache 和一些監視器中使用一些反向代理,例如pm2 / forever ,或更高級:PusshionPassenger

暫無
暫無

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

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