部署 如何在服务器上启动或重启 Puma 服务

QueXuQ · 2015年03月06日 · 最后由 QueXuQ 回复于 2015年03月09日 · 7134 次阅读

有了 capistrano 后,似乎都找不到如何手动的部署项目到服务器上了。 而且启动 puma 也是:cap production puma:start 或 restart 了。

但是我总怕会出现电脑不在身边的情况,而可以通过手机 ssh 到服务器进行重启,或者修改代码,然后重启 puma。

可是都找不到这方面的知识,看 puma 的文档,都是 pum -C 之类,尝试过,要不用 production 的 env 时,加载不到 js 或 css 文件,要不就是启动的是 9292 端口。

不知道有些什么办法,可以不考虑 capistrano 的情况,手动 ssh 到服务器进行重启或启动 puma 呢?

看最后一条启动成功的命令

用 Foreman 在生产环境中管理和监控进程 http://chloerei.com/2014/12/15/foreman/

#1 楼 @lmorenbit

INFO [5fd3795f] Running ~/.rbenv/bin/rbenv exec bundle exec puma -C /home/deployer/www/xxx/shared/puma.rb --daemon as [email protected]
DEBUG [5fd3795f] Command: cd /home/deployer/www/xxx/current && ( RBENV_ROOT=~/.rbenv RBENV_VERSION=2.1.2 RACK_ENV=production ~/.rbenv/bin/rbenv exec bundle exec puma -C /home/deployer/www/xxx/shared/puma.rb --daemon )

这个尝试过了,但是不是那么理想,还是有问题。

#2 楼 @Rei 看过你这篇文章了,其实还是不是特别理解 Foreman 这个东西,还有个事情就是在配置中,如何下 puma 的启动,这个也找过相关的文档,但是还是没有配置下来。

#2 楼 @Rei 看过你这篇文章了,其实还是不是特别理解 Foreman 这个东西,还有个事情就是在配置中,如何下 puma 的启动,这个也找过相关的文档,但是还是没有配置下来。

#4 楼 @QueXuQ 后半句我看不懂。

装了 puma 之后,有 pumactl 这个程序

奥,最直接的登录 ssh 管理应该用 7 楼的方法。

#3 楼 @QueXuQ 可是我也不知道是什么问题,哪里不理想

#6 楼 @Rei 哦,我意思是说:

web: bundle exec unicorn -p $PORT -c config/unicorn.rb
resque: env TERM_CHILD=1 QUEUE=* bundle exec rake environment resque:work

puma 如何写这个,没找到,找到了,也就可以直接用来 ssh 启动 puma 了吧。

#7 楼 @cuterxy 不好意思,我想问,pumactl 是在项目里,还是在哪呢?貌似没有看见。

你应该把 README 从头到尾看一次 https://github.com/puma/puma

[2066] * Listening on unix:///var/run/ethan.blog.sock
Permission denied - connect(2) for /var/run/ethan.blog.sock

production 中 puma 启动报错如上,请问怎么破?

#11 楼 @QueXuQ 应该是在项目的根目录下可以执行这个程序,在 linux 下可以用 which pumactl 来看一下 pumactl 具体在什么位置。我是用 RVM 安装 Ruby 环境的。

#14 楼 @cuterxy

/current$ pumactl
Sorry, command-not-found has crashed! Please file a bug report at:
https://bugs.launchpad.net/command-not-found/+filebug
Please include the following information with the report:

command-not-found version: 0.2.44

还真没有这个命令,which pumactl也没有,是我哪里操作的不对吗?

#15 楼 @QueXuQ

/home/xxxxxxxx/.rvm/gems/ruby-2.2.1@ogx-io-web/bin/pumactl

上面是我找到的路径。我是用 RVM 的管理 Ruby 版本的,在 Gemfile 添加了 gem 'puma',然后通过 bundle install 来安装的。

进入部署目录 bundle exec pumactl

需要 登录 后方可回复, 如果你还没有账号请 注册新账号