- pre
在一些特定的场景下(比如需要使用Windows内核的API)我们需要把我们的服务部署在Windows机器上,在Linux上我们可以使用Gunicorn和Gevent来部署(Docker)我们的服务,然后使用Supervisor来监控我们的进程。但是在Win上可用的Solution便少的可怜,遂整理一下Windows上的解决方案。 - 先把Flask程序打一个包(.exe)
这个包作为一个exe来启动服务,打完包之后先Check下能不能正常运行再进行下面的尝试。 - 使用Windows自带的服务程序来创建服务
sc create/delete YOUR_SERVICE_NAME binPath="YOUR_EXE_PATH"
拒绝访问就以管理员身份打开命令行工具
- 注意这里binPath后的等于号=不要留空格
- 启动服务
sc start YOUR_SERVICE_NAME
这个时候直接运行exe文件,程序是可以正常运行起来的,但是不能作为服务后台运行,于是寻求别的解决方案。
然后就找到了这个小东东,NSSM http://nssm.cc/download
下载后解压就行.
- nssm install
进到32或者64位下的nssm.exe下,注册一个你的服务,
nssm install 之后会出现: 接着打开Windows服务窗口,可以看到服务名、状态等其他信息。
配置项说明:
Path:运行应用程序的程序
Startup directory:应用程序所在的目录
Arguments:应用运行的参数
Service name:生成服务的名称
引用:
https://blog.csdn.net/liyou123456789/article/details/123094277 https://blog.csdn.net/weixin_45859850/article/details/115581179
|