簡體   English   中英

如何在同一個 VPS 和域上部署前端和 node.js 服務器?

[英]How to deploy frontend and node.js server on same VPS and domain?

我的任務是創建登錄頁面,發送電子郵件,其中包含提交表單時付款的必要條件。 所以我有簡單的靜態前端(index.html、css/、js/、img/)和發送電子郵件的快速服務器(server.js); 在我的本地主機上,我在localhost:3000上運行前端,在localhsot:3000上運行 server.js。 添加 CORS 標頭后,一切正常,電子郵件已成功發送。

對於生產,我購買了帶有 ubuntu 的 VPS 來部署所有這些。 我已經設置了 nginx,所以我的前端可以在 myDomainName.com 上使用。 但是當我運行 server.js 時,它不會像在開發服務器上那樣接收請求。 同時,如果我通過 ssh 連接並輸入curl myDomainName.com:3000/ ,我會收到響應“嗨”;

// server.js
// some code...
app.get('/' function (req, res) { res.status(200).end('Hi'); }
app.listen(3000, function () { console.log('Server listening on port 3000!'); })


// frontendFormHandler.js
// some code...
$.get('myDomainName.com:3000/', function(data){ console.log(data) })

我應該如何設置所有這些以使其在相同的 VPS、相同的域、但在不同的端口上工作? 部署這些小型項目的正確方法是什么? 我應該選擇其他樂器嗎?

在大多數 UNIX 系統中,防火牆配置為僅允許來自端口80443用於 HTTP 和 HTTPS 的其他客戶端的流量,出於安全原因阻止所有其他端口。

允許端口(使用 ufw)使用

$ (sudo) ufw allow 3000/tcp
$ (sudo) ufw allow 3000/udp

或者,對於 IPTables:

$ (sudo) iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
$ (sudo) iptables -I INPUT -p udp --dport 3000 -j ACCEPT

允許 TCP 或 UDP 上的連接

暫無
暫無

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

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