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

QueXuQ · March 06, 2015 · Last by QueXuQ replied at March 09, 2015 · 7037 hits

有了 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

You need to Sign in before reply, if you don't have an account, please Sign up first.