将AngularJS应用程序部署到香草Apache HTTP服务器是常见的select吗?

我很好奇AngularJS应用程序通常部署在什么样的服务器上,Google没有给出令人满意的答案。 特别是,在我看来,AngularJS应用程序只是一个静态文件的集合,所以在生产环境中将这样的应用程序部署到一个香草的Apache HTTP服务器中是很常见的。 或者是一个轻量级的Node.js服务器?

非常感谢你。

我运行nginx来提供静态的AngularJS内容。 后端function由NodeJS服务器提供,该服务器提供所有必要的dynamic内容并从客户端应答REST请求。 Nginx将dynamic查询路由到NodeJS,并直接提供静态内容。 客户端和服务器端逻辑都使用相同的语言(JavaScript或CoffeeScript)编写。

这样做的最大好处是我们可以分别对客户端的静态内容和后端内容进行负载平衡。 这取决于您的应用程序的大小,并要求它对dynamic内容访问。

关于部署AngularJS的其他一些post:

  • 生产中不要运行“grunt server”: 可以使用grunt服务器进行生产应用程序部署
  • 在生产环境中运行Apache / Nginx: 使用yeoman部署angular.js应用程序的最佳方式是什么?
  • 托pipe服务器/客户端在一起: angularjs nodejs应用程序的最佳部署体系结构

像AngularJS这样的客户端框架不会因为使用纯粹的Apache安装而被麻烦,因为它是纯粹的客户端JavaScript。

也就是说,这是一个罕见的单页networking应用程序,通过AJAX与Web服务器至less没有交互,以便获取和修改存储在那里的数据,这就是您可能需要考虑使用什么服务器的地方小心。 最终,您可以使用任何您认为最合适的服务器端技术来构build后端,无论是PHP,Python,Ruby,Node还是其他任何服务器,您所select的服务器都将由您select的客户端框架。

我会补充一点,我经常听说Nginx比Apache更快地提供静态文件,有时候使用Nginx来处理静态文件,反向代理到Apache来处理dynamic内容。 所以使用Nginx比Apache更适合单页面的网页应用。 就我个人而言,我曾经使用过Nginx和Gunicorn来创build一个Django应用程序,从我听说的Ruby和Node.js应用程序中也可以看到它。 在Node.js的上下文中,我不相信Node通常用于在生产中提供静态文件,从我听说的更常见的安排是让Nginx提供静态文件和反向代理到Node应用程序一切。