【发布时间】:2014-06-24 22:31:54
【问题描述】:
我一直在尝试在一个 Digital Ocean 液滴上的不同域上设置多个 Node 应用程序。我完全按照Host Multiple Node.js Applications On a Single VPS with nginx, forever, and crontab 的文章。
我的所有域都正确指向并设置了 A 记录。
除了默认的 express 3000 之外,我似乎无法让应用程序(永远)在任何其他端口上运行。
我按照要求更改了 Nginx 设置:
我取消了 server_names_hash_bucket_size 64 的注释; (就像它说的那样)
我为应用创建了 /etc/nginx/conf.d/example.com.conf 文件(它们是不同的域。我将 1 放在端口 3000 上,另一个放在 4000 上)。
示例:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:{YOUR_PORT};
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
我不明白 Nginx 运行应用程序的时间和永远运行的时间之间的区别? “npm start”在哪里发挥作用?有多少潜在的服务器同时工作?
我似乎无法同时运行超过 1 个应用程序。我可以弄清楚如何正确地将 Node 应用程序文件夹分配给端口并使其永远保持活动状态。
【问题讨论】:
-
我在这个问题上撞了一段时间,并将 proxy_pass
http://localhost:{PORT}更改为http://127.0.0.1:{PORT}并且它起作用了。不知道为什么 nginx 没有读取本地主机,但是是的……以防其他人遇到类似的情况。
标签: node.js nginx express digital-ocean