`

unicorn 实现无缝重启 (unicorn.rb)config

阅读更多
1.unicorn .rb

module Rails
  class <<self
    def root
        File.expand_path(__FILE__).split('/')[0..-3].join('/')
    end
  end
end

rails_env = ENV['RAILS_ENV'] || 'production'
worker_processes (rails_env == 'production' ? 10 : 2)
preload_app true
working_directory Rails.root
listen "#{Rails.root}/tmp/nginx/sockets/unicorn.sock", :backlog => 64
listen 5000, :tcp_nopush => false
timeout 120
pid  "#{Rails.root}/tmp/pids/unicorn.pid"

stderr_path "#{Rails.root}/log/unicorn/unicorn.stderr.log"
stdout_path "#{Rails.root}/log/unicorn/unicorn.stdout.log"


if GC.respond_to?(:copy_on_write_friendly=) 
GC.copy_on_write_friendly = true
end

before_fork do |server, worker|
old_pid ="#{Rails.root}/tmp/pids/unicorn.pid.oldbin"
  if File.exists?(old_pid) && server.pid != old_pid
    begin
      Process.kill("QUIT", File.read(old_pid).to_i)
    rescue Errno::ENOENT, Errno::ESRCH
     puts "Send 'QUIT' signal to unicorn error!"
    end
    end
end


2. 重启unicorn
 
 sudo kill -USR2 `cat tmp/pids/unicorn.pid`

 
0
0
分享到:
评论

相关推荐

    利用Unicorn和Nginx部署Redmine

    4. **启动Unicorn**:通过命令行启动Unicorn服务,如` unicorn_rails -c config/unicorn.rb -E production`。 5. **配置Nginx**:编辑Nginx配置文件(如`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/...

    nginx-unicorn-config:Nginx和Unicorn的样板配置文件

    您将需要在/var/www/app/unicorn.rb编辑Unicorn配置文件 样本配置文件包含在此存储库中。 ##运行此脚本 登录到您的Droplet。 在文本编辑器中打开一个新文件,然后将的内容复制到其中。 示例: nano s

    zepnik:引导 sinatra 应用程序的愚蠢且最简单的方法

    泽普尼克Zepnik 的创建是为了加速引导 Ruby Sinatra Web 应用程序。 它在一个非常易于使用的结构中采用了许多来自网络的最佳实践。安装运行这三个命令后,您就可以开始...unicorn -c config/unicorn.rb -E production

    trackvue:追踪视频

    unicorn_rails –配置文件config / unicorn.rb #서버에서는이렇게실행함。 unicorn_rails -c /var/www/trackvue/config/unicorn.server.rb -D #production모드에가제가있음.. unicorn_rails -c /var/...

    mini-tower:小型塔

    修改config目录下的unicorn.rb后手动unicorn -D -c application_location_path/config/unicorn.rb -E production启动,或者可以通过修改unicorn_init.sh后,建立软链到/etc/init.d/unicorn,通过service unicorn ...

    Rina_Blog:个人博客系统1.0

    rina的博客 1.0博客已经废弃,最新...先根据项目里的/config/deploy.rb /config/unicorn/production.rb /config/nigix.conf文件,修改其中的配置,然后将/config/nigix.conf文件复制到你的服务器上的nginx所在目录的

    check:Redis支持的服务,用于根据预定义的阈值监视度量标准数据流

    查看 Redis支持的服务,用于根据预定义的阈值监视度量标准数据流。... 它由grape提供支持,并且包含config.ru和unicorn.conf(请检查示例文件夹)。 独角兽未声明的依赖,随意选择您实现这种宝石的服务喜欢的任

    wakemydyno.com:用 Rails 编写的服务,每大约 30 分钟就会 ping 你的 heroku 页面,防止它睡着

    主意我的想象力让我认为 heroku dyno 是一种可爱的小动物,恐龙,它不能长时间保持清醒。有趣的部分是一个非常简单的 Rails 应用程序,只有一个模型、一个控制器和几个服务对象。... 检查config/unicorn.rb文件。

    guorj-ruby:http

    unicorn_rails -c config/unicorn.rb -E production -D 此自述文件通常会记录启动和运行应用程序所需的任何步骤。 您可能想要涵盖的内容: Ruby版 系统依赖 配置 数据库创建 数据库初始化 如何运行测试套件 服务...

    Gitlab备份及迁移恢复

    gitlab-ctl stop unicorn gitlab-ctl stop sidekiq ``` 6. **执行恢复操作** 使用以下命令从备份文件中恢复GitLab: ```bash gitlab-rake gitlab:backup:restore BACKUP=1502357536 ``` 在恢复过程中可能...

    devops-test-day-app:天气控制API

    d.weather API 天气报告和天气控制API。...运行特殊命令以启动应用程序存储库中的应用程序服务器( unicorn_rails -D -c config/unicorn.rb )-应用程序服务器在localhost:8080上运行localhost:808

    rails web server deploy guide

    在文件名 "config.god" 中,"god" 是一个监控和控制系统的服务,常用于Rails应用中以确保后台任务和服务器保持运行状态。它能够帮助开发者管理进程,确保在服务器崩溃时能自动重启。 在部署Rails应用时,以下是一些...

    Travel-app:Travel 应用程序是一个简单的 Ruby on Rails 应用程序,可显示所有标签及其目的地

    `config/routes.rb`文件定义了应用的URL到控制器行动的映射。开发者会在其中设置资源路由,如`resources :destinations`和`resources :tags`,这将自动生成CRUD(创建、读取、更新、删除)操作对应的URL路径。 7. ...

    基于ruby on rails 的简单blog

    6. **编写路由**:在`config/routes.rb`中定义路由规则,如`resources :posts`会自动创建CRUD操作。 7. **编写控制器**:实现模型与视图之间的交互,处理请求并返回响应。 8. **创建视图**:在`app/views/posts`目录...

    yabeda-rails:Yabeda插件可收集Rails应用程序的基本指标

    当前,当通过rails server , puma -C config/puma.rb或unicorn -c启动服务器时,yabeda-rails自动注册Rails指标。 但是,目前不支持其他应用程序服务器或通过rackup启动。 可能的解决方法是检测服务器进程并在初始...

    profile_it_agent:用于详细浏览器内 Rails 分析分析的 Ruby gem。 指标报告给 profileit.io

    简介 用于详细浏览器内 Rails 分析分析的 Ruby gem。 指标报告给 。 入门 ProfileIt.io 上的以开始使用。...Unicorn(确保将preload_app true添加到config/unicorn.rb ) 帮助 如果您需要帮助,请发送电子邮件至 。

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

    创建一个Unicorn配置文件,例如`config/unicorn.rb`,包含以下内容: ```ruby worker_processes 2 timeout 30 APP_PATH = File.expand_path("../..", __FILE__) working_directory APP_PATH listen 8080, :tcp_no...

    sinatra_web_app_1

    5. **config.ru**:Rack 配置文件,用于启动应用,通常包含 `run` 方法调用来指定应用实例。 6. 可能还有 **db** 目录,用于数据库配置或数据迁移,如果项目使用了数据库。 7. **lib** 目录,存放自定义的库或模块...

    padrino-coffee-react-example:在 Padrino 和 CoffeeScript 中使用 ReactJS 的简单示例

    - 通常,Padrino项目会有一个`config.rb`配置文件,定义路由和其他设置。 - `app`目录包含控制器和模型,可能有`controllers`和`models`子目录。 - `public`目录存放静态资源,如CSS、JavaScript文件。 - `views...

Global site tag (gtag.js) - Google Analytics