我已经编写了一个Node.js应用程序,我希望它可以在我们的生产机器上运行。这似乎是一个很普遍的要求,但我找不到合适的解决方案。是否存在用于部署生产Node.js应用程序的既定解决方案?
该应用程序很简单(<100
LOC),但是需要非常高效,可靠并且可以连续运行数年而无需重新启动。它将在大型站点上运行,每秒有数十个连接。(该应用程序不用作网络服务器,它只有JSON
API)
这是我考虑过的方法,但我仍然不确定:
使用框架(例如Express)
由于该应用程序需要高性能且非常简单,因此我想避免以框架形式添加膨胀。
使用以下命令启动服务器nohup
这里的主要问题是异常处理,我们(显然)不希望整个服务器由于异常而崩溃。据我了解,将整个应用程序包装在一个try {} catch {}
循环中将无济于事,因为Java解释器在发生异常后处于不可预测的状态。那是对的吗?
使用永远的东西
我已经在我们的FreeBSD机器上安装了Forever,这非常容易出错。最终催生了无尽的进程,这些进程无法从Forever中永久杀死。我不得不kill -9
跑回机器,我对在Forever上运行生产应用程序没有太大的信心。看来Upstart(类似的工具,但更通用)不会在FreeBSD上运行。
托管解决方案(例如Heroku,Rackspace,Amazon EC2等)
这可能是最简单的解决方案,但对于其他Web服务器,我们已经拥有了不错的硬件。出于财务考虑,这没有任何意义。
当然必须为此解决一些问题?我想念什么吗?
部署服务 我们使用 docker service 命令来管理 Swarm 集群中的服务,该命令只能在管理节点运行。 新建服务 现在我们在上一节创建的 Swarm 集群中运行一个名为 nginx 服务。 $ docker service create --replicas 3 -p 80:80 --name nginx nginx:1.13.7-alpine 现在我们使用浏览器,输入任意节点 IP
关于aiohttp服务器部署,这里有以下几种选择: 独立的服务器。 使用nginx, HAProxy等反向代理服务器,之后是后端服务器。 在反向代理之后在部署一层gunicorn,然后才是后端服务器。 独立服务器 只需要调用aiohttp.web.run_app(),并传递aiohttp.web.Application实例即可。 该方法最简单,也是在比较小的程序中最好的解决方法。但该方法并不能完全
服务端部署 1. 源码部署 CAT安装环境 Linux 2.6以及之上(2.6内核才可以支持epoll),线上服务端部署请使用Linux环境,Mac以及Windows环境可以作为开发环境,美团点评内部CentOS 6.5 Java 6,7,8,服务端推荐使用jdk7的版本,客户端jdk6、7、8都支持 Maven 3及以上 MySQL 5.6,5.7,更高版本MySQL都不建议使用,不清楚兼容性
部署模式 SOFARegistry 支持两种部署模式,分别是集成部署模式及独立部署模式,本文将介绍最简单的单节点集成部署模式,更多更详细的部署模式介绍可以查看 部署文档。 部署步骤 1. 下载源码或者安装包 下载源码方式 git clone https://github.com/sofastack/sofa-registry.git cd sofa-registry mvn clean packa
我正在尝试在库伯内特斯集群的pod中部署DHCP服务器。我创建了以下资源: $cat dhcpd部署。亚马尔 创建dhcpd-deployment.yaml $catdhcpd-service.yaml $kubectl create-f dhcpd服务。亚马尔 pod和服务的所有内容都已成功创建,但不幸的是,DHCPD pod在UDP端口67上没有接收任何数据包。 我错过什么了吗?
部署 PHP 应用程序到生产环境中有多种方式。 Platform as a Service (PaaS) PaaS 提供了运行 PHP 应用程序所必须的系统环境和网络架构。这就意味着只需做少量配置就可以运行 PHP 应用程序或者 PHP 框架。 现在,PaaS 已经成为一种部署、托管和扩展各种规模的 PHP 应用程序的流行方式。你可以在 资源部分 查看 PHP PaaS “Platform as