部署应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署应用程序相关的知识,希望对你有一定的参考价值。

Supervisord

进程管理工具(Supervisor) :

Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

Windows计划任务

上面的工具不支持Windows,大概因为Windows不需要?
计划任务可以自动重启挂掉的进程。
taskschd.dll 可以用 vbs/js 脚本或者 C#/C++等语言调用,自动生成任务。当然也可以图形化界面来手动设置。
技术图片

将任务设置成开机启动,然后设置任务失败重新启动,应该就可以让程序在运行失败后重新启动了。
用这个应该是最方便的了。

NSSM

如果让程序作为 “windows 的服务”,监控这些基本功能 windows 是自带的。
所以只需要实现Windows服务注册。这可以写在代码里,找一下现成的库。
也可以使用现成工具来实现:

NSSM(the Non-Sucking Service Manager)是Windows环境下一款免安装的服务管理软件,它可以将应用封装成服务,使之像windows服务可以设置自动启动等。并且可以监控程序运行状态,程序异常中断后自动启动,实现守护进程的功能。不仅支持图形界面操作,也完全支持命令行设置

以上是关于部署应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS opsworks 部署应用程序。为啥随机部署失败?

开发好了一个应用程序如何部署到阿里钉钉微应用上

tomcat服务器中的web应用程序部署在哪个物理位置

如何使用 Terraform 部署和重新部署应用程序?

如何部署Golang应用

将应用程序部署到 GAE 时如何选择应部署哪些文件?