大约6个月前,我在Ubuntu上配置了我的Rails 3生产应用程序,使用git和Capistrano进行部署。
直到上周--我使用的数据中心(DigitalOcean NYC)实际上出现了完全的电源故障(电池备份不起作用)--导致我的服务器完全关闭。
我并没有在重新启动的时候设置乘客或mysql,所以当硬件服务器重新启动时,我的应用程序还没启动。
当我启动它时,我真的不知道我在做什么(因为这是我使用过的第一个生产服务器),我遵循了一个指南来启动和运行它。
当我试图让这个应用再次运行时,我成功地启动了mysqld --但是对于我的生活来说,我已经不记得如何让nginx/乘客再次运行了。
由于时间非常重要(我的客户端需要尽快启动和运行该应用程序),我最终通过导航到我的应用程序目录(/current)并使用命令来恢复和运行该应用程序:
passenger start -p 80 -e production这成功了,但实际上开始了乘客的独立行动。它似乎运行得很好(它根本不是一个大的或复杂的应用程序,一次可能只有几个用户)。我可以导航回我的目录,并使用上面的命令(和乘客停止-p 80)启动和停止它。
但是,现在我的capistrano (cap )不再在部署时重新启动服务器(它正在尝试运行touch /restart.txt)--即使我尝试手动运行,也不会做任何事情,因为服务器是独立运行的。
我不记得最初是如何启动和运行服务器的,因为这是很久以前的事了。我不使用RVM -只是直接在服务器上运行的Ruby版本。
有人知道在Ubuntu上启动nginx/客运(不是独立的)的正确命令吗?
甚至还有一步--我如何才能让mysqld和nginx/ server在硬服务器重新启动时自动加载?
发布于 2013-12-06 08:48:12
Capistrano没有重新启动服务器,因为它实际上创建了一个新的应用程序目录(/u/ app /./releases/xxx),而客运独立仍然在旧的应用程序目录(/u/ app /./ creates /yyy)中运行。因此,触摸restart.txt是行不通的。相反,您必须像这样重新启动乘客独立:
cd /path-to-previous-release && passenger stop -p 80
cd /path-to-current-release && passenger start -p 80 -e production你说过你想启动nginx/passsenger。我想你是说Nginx模式吧。下面是你需要做的事情:
我不明白您为什么要问如何让mysqld在硬服务器重新启动时自动启动。在系统启动期间,总是启动Mysqld。你没必要做任何事。
https://stackoverflow.com/questions/20416895
复制相似问题