Baga Asked:2020-05-31 17:22:27 +0000 UTC2020-05-31 17:22:27 +0000 UTC 2020-05-31 17:22:27 +0000 UTC Nodejs 应用程序部署 772 是否可以在不使用 Web 服务器的情况下将应用程序部署到服务器node?apacheNginx node.js 2 个回答 Voted Yuriy Po 2020-05-31T18:04:51Z2020-05-31T18:04:51Z Apache 是完全不同的,如果你有一个 Node 应用程序,那就算了。以最常用的方式安装 Node(在 Ubuntu 上有两行用于安装所需的版本),安装基础(无论你在那里使用什么),愚蠢地将应用程序复制到那里并使用魔术命令运行它nodejs server.js。 是的,在那之后,您必须将您的应用程序侦听的端口分配给域名或 IP 地址(例如 3000)。你只需要将端口 80 - 重定向到这个 3000。Nginx 通常用于此。但它也可以通过终端中的命令简单地重定向:sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000。 所有的东西。 Best Answer Mikhail Vaysman 2020-05-31T18:00:05Z2020-05-31T18:00:05Z 是的。这是可能的。这是一段代码(取自此处) const http = require('http'); const hostname = ''; // пропишите сюда адрес своего сервера const port = 3000; // пропишите сюда желаемый порт (см. примечания после кода) const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); 为了在端口 < 1024 上运行服务器,该进程必须具有root权限(以 root 身份运行)。这会在系统中造成安全漏洞。这就是为什么建议使用代理(apache/nginx)的原因。
Apache 是完全不同的,如果你有一个 Node 应用程序,那就算了。以最常用的方式安装 Node(在 Ubuntu 上有两行用于安装所需的版本),安装基础(无论你在那里使用什么),愚蠢地将应用程序复制到那里并使用魔术命令运行它
nodejs server.js。是的,在那之后,您必须将您的应用程序侦听的端口分配给域名或 IP 地址(例如 3000)。你只需要将端口 80 - 重定向到这个 3000。Nginx 通常用于此。但它也可以通过终端中的命令简单地重定向:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000。所有的东西。
是的。这是可能的。这是一段代码(取自此处)
为了在端口 < 1024 上运行服务器,该进程必须具有root权限(以 root 身份运行)。这会在系统中造成安全漏洞。这就是为什么建议使用代理(apache/nginx)的原因。