Nginx/Node.JS-仅在节点服务器完全启动后启动Nginx
如何将Nginx/Node.JS-仅在节点服务器完全启动后启动Nginx,node.js,nginx,docker,Node.js,Nginx,Docker,如何将nginxsystemd服务配置为仅在node.js服务器完全启动后启动 我有一台ubuntu服务器,有1个CPU和5个systemd服务: nginx\u仪表板服务 4个仪表板_customer@.service 所有服务都在启动时运行,并且都在运行dockercontainers。只有nginx容器暴露在外部,它是链接到4个节点应用程序的容器 问题在于,由于1个CPU和所有服务一起启动,因此节点应用程序启动需要几秒钟(10-13秒),而更轻的nginx会立即启动。 我尝试将Requir
nginx
systemd服务配置为仅在node.js
服务器完全启动后启动
我有一台ubuntu服务器,有1个CPU和5个systemd服务:
nginx\u仪表板服务
仪表板_customer@.service
docker
containers。只有nginx
容器暴露在外部,它是链接到4个节点
应用程序的容器
问题在于,由于1个CPU和所有服务一起启动,因此节点
应用程序启动需要几秒钟(10-13秒),而更轻的nginx
会立即启动。
我尝试将Requires
和After
添加到nginx服务中,但是没有帮助,因为节点服务正在运行,但是容器中的应用本身需要时间来加载
如果nginx
关闭,我的内容交付系统(在本例中为CloudFlare)会显示一个临时页面。但是由于这个延迟,nginx启动了,我的仪表板有几秒钟的停机时间
问题是,我是否可以防止这种延迟,并且仅在node.js应用程序完全启动后启动nginx,而不仅仅是docker容器。您可以创建一个
/healthz
路由来检查应用程序是否准备就绪。在nginx服务中,您可以递归地检查应用程序是否准备就绪(/healthz
返回http状态代码200)并且只在准备好后启动。如何配置nginx
在启动前进行运行状况检查?@TomG您必须编辑nginx服务文件并自己添加该逻辑。nginx配置中的运行状况检查选项仅在nginx plus程序中可用,而在开源项目中不可用