从 Digital Ocean Droplet 外部访问节点应用程序还需要什么?
What else is required to access a node app from outside a Digital Ocean droplet?
我们已经设置了一个在端口 5000 上运行的节点服务器。
在newly created droplet, we have installed and started nginx。为了访问节点应用程序,我们在 /etc/nginx/sites-enabled/default
中将默认端口从 80 更改为 5000
server {
listen 5000 default_server;
listen [::]:5000 default_server;
sudo ufw enable
还有
sudo ufw allow 5000/tcp
还有,这个方法也试过了:
sudo ufw allow 5000
已通过 sudo ufw status
确认
netstat -ntlp
还有the app is configured to listen on the public interface
const server = app.listen(process.env.PORT || 5000, '0.0.0.0', () => {
console.log('Express server listening on port %d in %s mode', server.address().port, app.settings.env);
});
但是,即使是默认端口也没有响应。因此,我们将 80 恢复为默认端口。
访问 Droplet 之外的节点应用程序还需要什么?
当涉及到 NodeJS 和 NGINX 时,我们希望将 NGINX 配置为侦听端口 80
,尽管我们希望使用 proxy_pass
来传递来自 Web 服务器的请求(NGINX) 到应用程序 运行 所在端口上的 NodeJS 应用程序。这将使我们能够将端口保持在 URL.
之外
使用当前配置,NGINX 将监听端口 5000
,这将阻止应用程序能够监听同一端口(反之亦然)。
有一个很好的指南涵盖了设置 NodeJS + NGINX —— 这个特定部分是最重要的:
以上介绍了我们将如何设置服务器块:-)
我们已经设置了一个在端口 5000 上运行的节点服务器。
在newly created droplet, we have installed and started nginx。为了访问节点应用程序,我们在 /etc/nginx/sites-enabled/default
server {
listen 5000 default_server;
listen [::]:5000 default_server;
sudo ufw enable
还有
sudo ufw allow 5000/tcp
还有,这个方法也试过了:
sudo ufw allow 5000
已通过 sudo ufw status
netstat -ntlp
还有the app is configured to listen on the public interface
const server = app.listen(process.env.PORT || 5000, '0.0.0.0', () => {
console.log('Express server listening on port %d in %s mode', server.address().port, app.settings.env);
});
但是,即使是默认端口也没有响应。因此,我们将 80 恢复为默认端口。
访问 Droplet 之外的节点应用程序还需要什么?
当涉及到 NodeJS 和 NGINX 时,我们希望将 NGINX 配置为侦听端口 80
,尽管我们希望使用 proxy_pass
来传递来自 Web 服务器的请求(NGINX) 到应用程序 运行 所在端口上的 NodeJS 应用程序。这将使我们能够将端口保持在 URL.
使用当前配置,NGINX 将监听端口 5000
,这将阻止应用程序能够监听同一端口(反之亦然)。
有一个很好的指南涵盖了设置 NodeJS + NGINX —— 这个特定部分是最重要的:
以上介绍了我们将如何设置服务器块:-)