Expressjs 到生产
我是expressjs的新手,我想将expressjs应用程序部署到生产环境中。根据我的谷歌搜索,这是我在考虑的机架空间上的设置:
1 个负载均衡器 + 2 个服务器 + 永远运行应用程序
我的问题是:
我应该使用什么引擎来运行应用程序? nginx?
每台服务器可以运行多少个应用程序?
谢谢。
I am new to expressjs, I want to deploy an expressjs app to production. Based on my googling, here's the setup on rackspace I am thinking:
1 Load balancer + 2 server + Run app with forever
My questions are:
What engine shall I use to run the app? nginx?
how many app can I run per server?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您正在提供静态文件或使用任何 nginx 的反向代理功能,则可以使用 nginx。但如果没有,由于您的服务器位于负载均衡器后面,因此根本不需要 nginx。
经验法则是每个核心一个 node.js/express.js 进程。查看 cluster 来帮助您管理此问题。确保您的负载均衡器了解您正在运行的所有 Node.js 进程(而不仅仅是每台服务器上的一对 IP/端口之间的负载均衡)。
更新:Node.js 现在内置了 集群开箱即用。
另外,如果你在 Ubuntu 上部署,如果你愿意,你可以使用 upstart 而不是永远。
If you are serving static files or using any of nginx's reverse proxy features, you can use nginx. But if not, since your servers are behind a load balancer, nginx isn't necessary at all.
The rule of thumb is one node.js/express.js process per core. Have a look at cluster to help you manage this. Make sure your load balancer knows about all the node.js processes you are running (and is not just load balancing between one IP/port pair on each server).
Update: Node.js now has cluster built in out of the box.
Also, if you are deploying on Ubuntu you can use upstart instead of forever if you like.
您需要在计算机上安装nodejs才能运行nodejs。 nginx 是一个用于反向代理和负载均衡器的服务器。您还可以通过 pm2 而不是永远运行应用程序,它将处理所有集群并在后台运行您的应用程序。
You need nodejs installed on your machine to run nodejs. nginx is a server used for reverse proxy and a load balancer. Also you can run the app through pm2 instead of forever which will handle all the clustering and running your app in background.