我目前正在尝试使用dotcloud在EC2上部署Smartfoxserver2X。我已经能够检测到amazon web实例的私有ip,并且使用dotcloud工具能够确定正确的端口。但是,我很难通过命令行正确安装服务器,这样我就可以使用AdminTool登录到它。
我的安装后配置相当简单:
./sfs2x/sfs2x-服务启动-启动
我发现在'dotcloud push‘上,我的cygwin终端上有相当多有希望的输出,但在说sfs2x-service已经正确启动后,推送挂起了,直到超时。
因此,我的问题是,有没有人找到了通过dotcloud在EC2上成功安装SFS2X的方法?通过在安装后调用./jre/bin/java -jar installer.jar,我成功地使用了SFS Pro,并完全推送到了dotcloud。我是否需要做额外的跑腿工作并为SFS2X构建一个安装程序jar?有没有最好的方法来做这件事?
我确实知道在EC2上使用RightScale部署SFS2X有一种标准方法,但是我对使用dotcloud平台部署很感兴趣。
提前谢谢。
发布于 2013-01-15 22:05:01
它挂起的原因是因为您正在尝试在安装后启动进程,而这不是执行此操作的正确位置。安装后脚本应该完成,如果没有完成,部署将超时,然后被取消。
安装后脚本完成后,它将完成部署的其余部分。
有关dotCloud安装后脚本的详细信息,请参阅此页面:http://docs.dotcloud.com/0.9/guides/hooks/#post-install
注意末尾的这条警告。
Warning:如果您的安装后脚本返回错误(非零退出代码),或者如果它运行超过10分钟,平台将认为您的构建已失败,并且不会部署新版本的代码。
您应该将其添加为后台进程,以便在部署过程完成后启动,而不是将其放入postinstall脚本中。
有关向dotCloud服务添加后台进程的详细信息,请参阅此页:
http://docs.dotcloud.com/0.9/guides/daemons/
TL;DR:您需要创建一个supervisord.conf文件,并将其添加到项目的根目录,然后将您的服务添加到该文件中。
示例(您需要根据您的情况进行更改):
[program:smartfoxserver]
command = /home/dotcloud/current/SFS2X/sfs2x-service start-launchd
此外,请确保您在dotcloud.yml中指定了正确的dotCloud服务,以便为您的smartfoxserver应用程序安装正确的二进制文件和库。
https://stackoverflow.com/questions/14330193
复制相似问题