`
qqdenghaigui
  • 浏览: 121628 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

thin+god搭建rails服务器集群

 
阅读更多

安装thin sudo gem install thin

安装god sudo gem install god

配置god

 

# configure variables list below
app_dir           = "项目路径"
service            = "项目名称"
num_servers  = 5 // 开启服务器的个数
port             = 9000 // 端口号
#user             = "rocket_finance"
#group            = "rocket_finance"
pid_path         = "#{app_dir}/tmp/pids/thin.pid"  pid存放的路径

 

(0...num_servers).each do |i|

number = port + i

God.watch do |w|
    w.group = "thin-#{service}"

    w.name = w.group + "-#{number}"

    w.interval = 30.seconds

    #w.uid = user

    #w.gid = group

    ext = File.extname(pid_path)

    w.pid_file = pid_path.gsub(/#{ext}$/, ".#{number}#{ext}")

    w.start = "thin start -c #{app_dir} -p #{number} -o #{number}"

    w.start_grace = 10.seconds

    w.stop = "thin stop -c #{app_dir} -P #{w.pid_file}"

    w.stop_grace = 10.seconds

    w.restart = "thin restart -c #{app_dir} -p #{number} -o #{number} -P #{w.pid_file}"

    w.behavior(:clean_pid_file)

 

    w.start_if do |start|
      start.condition(:process_running) do |c|
        c.interval = 5.seconds
        c.running  = false
        #c.notify   = 'developers'
      end
    end

    w.restart_if do |restart|
      restart.condition(:memory_usage) do |c|
        c.above  = 150.megabytes
        c.times  = [3,5] # 3 out of 5 intervals
        #c.notify = 'developers'
      end

      restart.condition(:cpu_usage) do |c|
        c.above  = 50.percent
        c.times  = 5
        #c.notify = 'developers'
      end
    end

    w.lifecycle do |on|
      on.condition(:flapping) do |c|
        c.to_state     = [:start, :restart]
        c.times        = 5
        c.within       = 5.minutes
        c.transition   = :unmonitored
        c.retry_in     = 10.minutes
        c.retry_times  = 5
        c.retry_within = 2.hours
        #c.notify       = 'developers'
      end
    end

end

运行 god -c config/thin.god  -D

OK

god status

thin-test-9000: up
thin-test-9001: up
thin-test-9002: up
thin-test-9003: up
thin-test-9004: up

分享到:
评论

相关推荐

    Agile+Web+Development+with+Rails+(4th+Ed....pdf

    Agile+Web+Development+with+Rails+(4th+Ed....pdf

    使用Aptana+Rails开发Rails Web应用(中文)

    为了运行和测试应用,你需要在命令行中使用Rails服务器。在Aptana中,可以使用内置的终端工具。打开“Terminal”视图,输入`rails server`启动服务器,然后在浏览器中访问`http://localhost:3000`查看你的应用。 在...

    Ruby+for+Rails

    **Ruby for Rails** Ruby是一种面向对象的动态编程语言,它以其简洁、优雅的语法和强大的元编程能力而闻名。在Web开发领域,Ruby与Rails框架的结合,即Ruby on Rails(RoR),开创了Web应用的新纪元。Ruby on Rails...

    Agile+Web+Development+with+Rails中文版.pdf

    《Agile Web Development with Rails》是一本经典的Rails开发指南,中文版的出版使得更多的中国开发者能够深入理解并应用敏捷开发方法与Ruby on Rails框架。这本书是Rails开发者的必备参考资料,它详细介绍了如何...

    Ruby+on+Rails快速Web应用开发实战.pdf

    Ruby on Rails(简称RoR或Rails)是一种开源的网络应用框架,用Ruby语言编写。它被设计用来轻松地实现MVC(模型-视图-控制器)设计模式,...这些内容为开发者提供了从零开始搭建和管理Ruby on Rails项目的详尽指南。

    Ruby on Rails.rar+MVC+RESTfule+Rails等系列教程

    Rails框架入门 MVC架构理解 数据库设计与迁移 ActiveRecord模型操作 Rails中的控制器编写 视图层HTML与ERB 路由系统详解 RESTful设计原则 Rails中的表单处理 Rails与JavaScript集成 Rails中的测试驱动开发 部署Rails...

    Agile+Web+Development+with+Rails中文版

    《Agile Web Development with Rails中文版》是一本详细介绍如何使用Ruby on Rails框架进行敏捷Web开发的书籍。Rails是Ruby语言的一个强大的开源Web应用程序框架,它遵循敏捷开发的原则,旨在简化和加速Web应用的...

    在RHEL上安裝設置ROR(nginx+passenger+ruby+rails+oracle+netzke)

    在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...

    Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略

    安装 RVM 通常使用 RVM 或 rbenv 来安装 Ruby,这里选用 RVM。 $ curl -sSL https://get.rvm.io | bash ... 载入 RVM : $ source /home/libuchao/.rvm/scripts/rvm $ rvm -v rvm 1.25.12 (stable) by Wayne E....用 RVM

    React + Webpack + Rails + rails/webpacker 的集成,包括 React 的服务端渲染,实现更好的开发体验和更快的客户端性能。

    这些是 React on Rails 12 的文档。要查看版本 11 的文档,请单击此处。 2020 年 10 月 14 日新闻:RUBY ROGUES RR 474:在 Rails V12 上做出React——不要剃掉那头牦牛! 与贾斯汀戈登。 2020 年 10 月 1 日:有关...

    RVM+Ruby1.9.3+Rails3(1-Cygwin 安装配置)

    在 Windows 7 环境下搭建 Rails 3 开发环境是一项颇具挑战性的任务,尤其是当涉及到 Cygwin、Ruby、Rails 以及一系列其他必要的组件时。本文将详细阐述如何在 Windows 7 系统上利用 Cygwin 进行环境搭建,包括 Git、...

    Ruby on Rails环境搭建(基于WinXP & RadRails)

    在本教程中,我们将深入探讨如何在Windows XP操作系统上搭建Ruby on Rails开发环境,特别强调使用RadRails作为集成开发环境(IDE)。Ruby on Rails(RoR)是一个强大的Web应用程序框架,它基于Ruby编程语言,提供了...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    而想要在本地环境搭建Ruby on Rails的开发环境,掌握正确的安装步骤是基础。本文将详细介绍Ruby on Rails的安装流程,让读者能够顺畅地完成安装,为下一步的开发工作打下坚实的基础。 首先,我们必须明确安装Ruby ...

    rails金典教材3本

    Ruby+on+Rails+3+Tutorial.pdf 应用Rails进行敏捷Web开发第4版.pdf (Agile Web Development with Rails) Rails.Recipes.Rails.3.Edition.pdf

    启动Rails服务器指定端口号

    rails server命令启动web服务器的默认端口号为3000,当然我们也可以自定义指定端口号。

    react_on_rails:React + Webpack + Rails + railswebpacker的集成(包括React的服务器端渲染),可提供更好的开发人员体验和更快的客户端性能

    这些是React on Rails 12的文档。要查看版本11文档,。新闻2020年10月14日: 。 2020年10月1日:请参阅示例存储库,以通过支持SSR的rails / webpacker gem进行webpack的简单配置。 2020年8月2日:请参阅的示例回购,...

    搭建Rails测试环境2: Autotest和Spork的安装和配置

    至此,你已经成功地在Rails项目中搭建了Autotest和Spork的测试环境。当你修改代码后,测试会自动运行,Spork会提供更快的测试执行速度。这种高效的工作流程有助于提高开发效率,确保代码质量和项目的稳定性。 然而...

    bower-rails, 在 Rails 上,为 Bower 设置类似 DSL + rake任务.zip

    bower-rails, 在 Rails 上,为 Bower 设置类似 DSL + rake任务 rails Bower 对 Rails 项目的支持。 依赖文件是 Rails root 目录中的bower.json,如果使用 DSL,则为 Bowerfile 。 查看最新变更和发布的变更日志文件...

    centOS Rails3环境搭建

    ### CentOS环境下Rails 3开发环境搭建详解 #### 一、准备工作与环境配置 在开始部署Rails 3开发环境之前,我们需要确保系统上已经安装了一些基本的软件包和工具。这一步骤对于后续的Ruby和Rails安装至关重要。 ##...

Global site tag (gtag.js) - Google Analytics