Nginx nginx + puma + mina

VincentJiang · 2014年04月21日 · 最后由 wangxing 回复于 2015年11月19日 · 8624 次阅读

听说 nginx 比 apache 效率高,puma 比较省资源,mina 部署比较自动化,有无 rubyist 可以给我介绍一下三者在一起的教程? 谢谢!

那都是瞎说,别信!

我最近部署的一个项目就是楼主说的这三个。。。

#2 楼 @hisea 可否教教我,谢谢!

#4 楼 @cxh116 请问 god 是什么?

#6 楼 @hisea 我之前也搜到这个,不过感觉 mina-puma 这个 gem 好少人用呢,不知道效果如何

我的项目没有用这个 gem, 我自己写的 puma 的 mina task:

#                                                                           Puma
# ==============================================================================
namespace :puma do
  set :puma_pid, "#{app_path}/tmp/pids/puma.pid"
  set :start_puma, %{
    cd #{app_path}
    bundle exec puma --config #{app_path}/config/puma.rb --environment #{rails_env}
  }

#                                                                    Start task
# ------------------------------------------------------------------------------
  desc "Start Puma"
  task :start => :environment do
    queue 'echo "-----> Start Puma"'
    queue! start_puma
  end

#                                                                     Stop task
# ------------------------------------------------------------------------------
  desc "Stop Puma"
  task :stop do
    queue 'echo "-----> Stop Puma"'
    queue! %{
      test -s "#{puma_pid}" && kill -QUIT `cat "#{puma_pid}"` && echo "Stop Ok" && exit 0
      echo >&2 "Not running"
    }
  end

#                                                                  Restart task
# ------------------------------------------------------------------------------
  desc "Restart Puma using 'upgrade'"
  task :restart => :environment do
    invoke 'puma:stop'
    invoke 'puma:start'
  end
end

#8 楼 @hisea 我也试试自己写,谢谢!

God is an easy to configure, easy to extend monitoring framework written in Ruby.

http://godrb.com/

我是把它当开机自启动服务用,写 linux init.d service 难度太高,不写万一服务器被重启了,还得手动一个一个的启动服务

god 安装到系统路径 启动流程

  1. /etc/rc.local 增加一行 PATH=$PATH:/usr/local/bin god -c /etc/god/god.god 从而实现开机启动 god
  2. /etc/god/god.god 文件只有一行内容God.load "/etc/god/conf.d/*.god",这样就可以把/etc/god/conf.d/目录下的所有 god 文件定义的服务全部开机自启动

#10 楼 @cxh116 是的,这不失为一种好方法

这个搭配好!

#12 楼 @keating 这几天我想搭建起来,请有经验的多分享,谢谢!

我使用 puma.sh 启动的时候报错了,报错信息如下 releases/4/vendor/bundle/ruby/2.2.0/gems/puma-2.15.3/lib/puma/cli.rb:195:in `chdir': No such file or directory @ dir_chdir - /

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