win10下尝试把Rails服务器做成系统服务

问题##

希望把Rails server 注册成windows server,开机自启动

环境##

windows 10,Rails 5.0.1 , puma

尝试##

原来是做成bat了,每次使用的时候,需要使用时,手动双击打开,然后有一个窗口挂着。然后看着窗口不舒服,后来在启动命令后加了一个做为守护进程的参数,没窗口了,舒服了。命令如下

rails s -d

但又想做成系统服务,做了如下尝试:


1、使用sc命令:

sc create rails_serv binPath="d:\ruby\rails\rails_serv.bat"

sc config start=AUTO

net start rails_serv

然后就提示:服务没有响应控制功能。
第一次尝试失败。


2、使用第三方工具,这里使用了一个国外的工具和一个国内的工具,分别是:AlwaysUp和SrvanyUI(作者:王晔),但是都没有成功。使用这两个软件,服务添加成功了,也启动起来了,但是rails 程序跑不起来!


3、使用第三方工具把bat转换成exe之后,进行第2条尝试,结果一样。
三次尝试都失败了。

分析##

通过查询资料,得出的原因可能是因为windows 10上对做为服务启动的程序,要求比win7及以前的操作系统更严格了,要严格按照服务程序的规范来写程序。不过vs已经删除了,临时也没有时间再次安装,所以等下次玩C#的时候,再尝试吧。

解决##

退而求其次,以开机启动程序的方式加载rails 服务,方法如下:
1.创建bat文件快捷方式
2.进入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
3.把快捷方式放入2中所示目录内
OK!

你可能感兴趣的:(win10下尝试把Rails服务器做成系统服务)