使用 RVM + 独角兽部署失败
我正在尝试与独角兽设置Sinatra应用程序. 在关注 /vendor/bundle/ruby/1.9.1/gems/kgio-2.8.0/lib/kgio.rb:21:in 'require': cannot load such file -- kgio_ext (LoadError) 我正在使用rvm 1.18.5,ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-linux]和unicorn 4.5.0的最新版本,它拉了kgio 2.8.0 OS是Red Hat Enterprise Linux Server release 5.6. 我也尝试了ruby-1.9.3-p125. 解决方案 听起来像类似这里的问题,也许尝试其中一种想法. 宝石安装是否顺利进行?
30 2024-04-22
编程技术问答社区
资产管道在Rail生产环境中不工作
我正在使用Rails部署到VPS的问题.我的应用程序在开发环境中正常工作,但是当我使用Capistrano推进生产时,我会遇到问题. 我正在使用独角兽,铁路3.2.13和Ruby 1.9.3 我遇到的问题是,当我访问生产网站时,我会发现一个"模板"错误: Template is missing Missing template site/index with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :haml]}. Searched in: * "/home/deployer/apps/my-app/releases/20130417030832/app/views" * "/home/deployer/apps/my-app/shared/bundle/ruby/1.9.1/gems/devise-2.2.3/app/views" * "/home/deployer/apps/m
8 2024-04-05
编程技术问答社区
使用capistrano的Unicorn重启问题
我们正在使用CAP部署,并使用将USR2发送到Unicorn流程进行重新加载的脚本,并且通常有效,但是偶尔会失败.当这种情况发生在独角兽日志中时,它发现它正在寻找不再存在的旧版本目录中的gemfile. 例外: /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.21/lib/bundler/definition.rb:14:in `build': /var/www/railsapps/inventory/releases/20111128233407/Gemfile not found (Bundler::GemfileNotFound) 澄清这不是当前版本,而是删除的较旧版本. 当它工作时它确实可以正常工作 - 即它确实拾取了新代码 - 所以我认为它不属于旧版本. 有什么想法? 解决方案 您应该在启动服务器之前设置BUNDLE_GEMFILE环境变量,将其指向current/Gemfile. 其他解
4 2024-04-05
编程技术问答社区
bundler试图在生产中安装 "开发 "和 "测试 "组宝石的做法是错误的。
我有一个小型的Web应用程序,它使用了一堆宝石.其中一些仅用于test和development环境.现在,当我尝试使用以下命令在生产服务器上启动独角兽时,它会失败. unicorn_rails -E production -D -c config/unicorn.rb 我在日志文件中看到的错误是: Refreshing Gem list Could not find gem 'spork (>= 0.9.0.rc2, runtime)' in any of the gem sources listed in your Gemfile. Try running `bundle install`. 我在下面粘贴了我的gemfile: source 'http://rubygems.org' gem 'rails', '3.0.1' gem 'unicorn' gem 'mongoid', '>= 2.0.0.beta.19' gem 'devise' gem 'c
14 2024-04-05
编程技术问答社区
为什么nginx找不到我的资产?
我在Rails 3.2上,我的生产设置正在使用Nginx和Unicorn. 我对Ruby Gem称为Sidekiq使用的某些资产有问题.但是,当我要求这些资产时,这些资产无法正确提供.我的nginx配置看起来像这样: upstream unicorn { server unix:/tmp/unicorn.myapp.sock fail_timeout=0; } server { listen 80 default deferred; # server_name example.com; root /home/deployer/apps/myapp/current/public; if (-f $document_root/system/maintenance.html) { return 503;my } error_page 503 @maintenance; location @maintenance { rewrite
20 2024-03-17
编程技术问答社区
为什么我需要在应用服务器上预编译Rails资产,而不仅仅是Web服务器?
我正在将一个简单的铁轨应用程序部署到这个小型Ubuntu Pecise64服务器设置: * 1个运行nginx的Web服务器 * 2个运行Unicorn的应用程序服务器 * 1 db服务器运行PostgreSQL 我的服务器配备了木偶,我正在用Capistrano推动该应用. 我的Capfile load 'deploy' # Uncomment if you are using Rails' asset pipeline load 'deploy/assets' load 'config/deploy' # remove this line to skip loading any of the default tasks deploy.rb文件超级简单 # Execute "bundle install" after deploy, but only when really needed require "bundler/capistrano" #
10 2024-03-17
编程技术问答社区
Rails 3.1、Unicorn和Apache:静态文件
我有Rails 3.1,独角兽和Apache设置.我的apache设置在下面,生产.RB看起来像 this .我喜欢使用H264流媒体,但由于Rails正在使用这些视频文件,因此Apache Mod无法正常工作. DocumentRoot /blabla/current/public RewriteEngine On Options FollowSymLinks BalancerMember http://127.0.0.1:4000 # Redirect all non-static requests to rails RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L] ProxyPass /
6 2024-02-27
编程技术问答社区
究竟什么是预分叉的网络服务器模式?
我想知道,当Web服务器将自己描述为前叉Web服务器时,这到底意味着什么.我有几个例子,例如 Unicorn 适用于Ruby和 gunicorn for python. 更具体地说,这些是: 该模型解决了什么问题? 最初启动前叉网服务时会发生什么? 它如何处理请求? 另外,对独角兽/枪支的一个更具体的问题: 假设我有一个我想与(g)独角兽一起运行的WebApp.在初始化时,WebApp将执行一些初始化的工作(例如填写其他数据库条目).如果我将(g)独角兽与多个工人配置,会多次运行初始化的东西吗? 解决方案 预叉基本上是指主创建处理每个请求的叉子.叉是一个完全独立的 *nix过程. 根据下面的评论更新. pre in pre-fork表示这些过程在请求提出之前就分叉了.但是,随着负载的上升和下降,它们通常可以增加或减少. 当您拥有不安全的库时,可以使用前装饰.这也意味着引起问题的请求中的问题只会影响他们处理的过程而不是整个服务器的处理.
18 2024-02-27
编程技术问答社区
禁止通过AWS OpsWorks Nginx/Unicorn服务器上的直接IP地址进行网络访问
我有一个在AWS OPSWORKS NGINX/UNICORN RAIRS层上运行的Rails应用程序.我希望我的应用只能将请求处理到api.mydomain.com,如果使用服务器的IP地址提出任何请求,请直接返回404. 我已经实施了一本自定义食谱,该食谱覆盖了Unicorn/default/nginx_unicorn_web_app.erb(来自opsworks-cookbooks repo: https://github.com/aws/opsworks-cookbooks ).我复制了此存储库中存在的模板文件,并在模板顶部添加了一个新的服务器块: server { listen 80; server_name ; return 404; } 我停下来启动了我的服务器,以确保使用自定义的模板文件,但是当我使用服务器的IP地址发布请求时,它仍然会被路由到我的Rails应用程序. 这是不正确吗?有没有办法从此模板文件中
14 2024-01-26
编程技术问答社区
无法使用Nginx + Unicorn访问rails应用程序
昨天我能够看到默认页面,就像您看到的但是,今天我修改了Nginx的配置,以访问在Unicorn上运行并开始获得404的Rails应用程序. /etc/nginx/nginx.conf user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging S
22 2024-01-24
编程技术问答社区
如何使我的 Rails 应用程序的每个 unicorn worker 都记录到不同的文件?
我如何在不同的日志文件中使我的铁轨申请的每个独角兽工人? Why:混合日志文件的问题... 在默认配置中,Rails将将其日志消息写入一个日志文件:log/.log. 独角兽工人将立即写入同一日志文件,消息可能会混合在一起.当Request-Log-Analyzer解析日志文件时,这是一个问题.一个例子: Processing Controller1#action1 ... Processing Controller2#action2 ... Completed in 100ms... Completed in 567ms... 在此示例中,在100ms中完成了什么动作,567毫秒中的操作是什么?我们永远无法确定. 解决方案 将此代码添加到unicorn.rb中的after_fork: #one log per unicorn worker if log = Rails.logger.instance_values['log'
28 2023-12-12
编程技术问答社区
Websocket-rails在Nginx和Unicorn的生产环境中无法工作
我有Rails 3.2应用GEM WebSocket-rails 0.7. 在开发机上,所有工作都很好 在生产环境中,我将nginx/1.6用作代理服务器,而独角兽作为HTTP服务器.薄件在独立模式下使用(以下 https://github.com/websocket-rails/websocket-rails/wiki/standalone-server-mode ). nginx配置: location /websocket { proxy_pass http://localhost:3001/websocket; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } 在后端,我有以下代码将通知发送给客户 WebsocketRails[:callback_requests]
20 2023-12-02
编程技术问答社区
为什么Unicorn需要和Nginx一起部署?
我想知道Nginx和Unicorn之间的区别.据我了解,Nginx是Web服务器,而Unicorn是Ruby HTTP服务器. 由于Nginx和Unicorn都可以处理HTTP请求,因此需要将NGINX和UNICORN的组合用于ROR应用程序? 解决方案 nginx 独角兽 有关更多信息,请参阅 github上的Unicorn 其他解决方案 nginx是一款纯Web服务器,旨在使用静态内容和/或重定向 请求到另一个套接字处理请求. Unicorn是机架Web服务器,仅打算托管"机架应用",该应用程序通常生成动态内容.机架应用程序也可以提供静态内容,但效率不如大多数其他传统的网络服务器. 大多数ROR设置都使用传统的Web服务器和机架服务器的组合来应用其两种功能.通过代理平衡并提供静态内容,NGINX在要求重定向时非常快. Unicorn非常有能力处理HTTP标头并平衡向Ruby进行处理的入站请求. 其他解决方案 这个答案与其他答案互补
20 2023-12-02
编程技术问答社区
ERROR-: reaped #<Process::Status: pid 4335 exit 1> worker=0
我从2天开始尝试使用:Ruby(1.9.3-RC1),Rails,Capistrano,Nginx和Unicorn. 我还关注Ryan Bates的Railscast教程,展示了如何从头开始部署VPS. 实际上帽部署:冷命令似乎正常工作(与其他所有人一样),但是当我尝试使用我的URL时,我会落在"我们很抱歉,但是有些东西whort the whott of whort'=> rails的默认错误页面. 在我的生产日志中,我得到了: Migrating to CreateQuestionAnswers (20130317152603) Migrating to CreateRegions (20130502212531) Migrating to AddRegionIdToSection (20130502212557) Migrating to CreateAnnonceImages (20130510130906) Migrating to AddAttachmen
26 2023-11-30
编程技术问答社区
使用Nginx和Unicorn的Rails部署出现504网关超时错误
我的nginx服务器在VPS上未正确运行 根据Rails Cast VPS部署,我正确完成了所有设置 我仍然会遇到错误504网关超时错误 nginx log request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "roomies.co.in" 2014/07/26 11:33:58 [error] 6935#0: *10 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 223.239.147.104, server: _, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8080/", host: "roomies.co.in" 2014/07/26 11:45:56
16 2023-11-30
编程技术问答社区
Rails 4 Unicorn Serve App without ActiveRecord
我正在构建一个不使用任何数据库的Rails 4应用程序.通过删除数据库并替换 ,我通过在网上遵循一些指南,在我的开发机上成功禁用了ActivereCord. require 'rails/all' require "action_controller/railtie" require "action_mailer/railtie" require "rails/test_unit/railtie" require "sprockets/railtie" 它在本地起作用,但是当我尝试在运行Unicorn的服务器上部署它时,我将其在err logs 上得到 ERROR -- : ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished) /home/rtb/shared/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_r
16 2023-11-30
编程技术问答社区
rails环境的mongoid连接问题
我有Rails App 3.2.17,部署在登台环境中,Unicorn 4.6.3由Bluepill 0.0.66使用Mongid 3.1.5 监视. 当我部署分期环境时,所有工作都发现了Active_Record,除了mongoid查询,结果以及以下错误: Error during failsafe response: Problem: No configuration could be found for a session named 'default'. Summary: When attempting to create the new session, Mongoid could not find a session configuration for the name: 'default'. This is necessary in order to know the host, port, and options needed to connect.
40 2023-11-30
编程技术问答社区
Unicorn无法写入pid文件
我正在使用Capistrano将Ruby在Rails应用程序上部署到Linode VPS.我将Unicorn用作应用程序服务器和NGINX作为代理.我的问题是,由于明显的权限问题,我无法启动独角兽,但是我很难追踪. Unicorn开始使用此Capistrano任务: task :start, :roles => :app, :except => { :no_release => true } do run
24 2023-11-30
编程技术问答社区
用USR2重启Unicorn,似乎并不能重新加载production.rb的设置
我正在运行独角兽,并且正在尝试使零停机时间重新启动. 到目前为止 我们的脚本发送以下命令以重新启动独角兽: kill -s USR2 `cat /www/app/shared/pids/unicorn.pid` 在表面上,一切看起来都很好,但是事实证明独角兽并没有重新加载生产. (每次我们部署时,我们都会将config.action_controller.asset_host值更改为新的CDN容器端点,其中包括我们的预编译资产). 以这种方式重新启动独角兽后,资产主机仍指向旧版本.进行 real 重新启动(即:停止主过程,然后再次从头开始启动独角兽)选择新的配置更改. preload_app在我们的独角兽配置文件​​中设置为true 有什么想法吗? 解决方案 我的猜测是,您的独角兽正在旧生产目录中重新启动,而不是新的生产目录 - 换句话说,如果您的Unicorn.rb的工作目录为/current,则需要确
18 2023-11-30
编程技术问答社区
用回形针上传非常慢(独角兽)。
坐在这里带一个简单的Rails 3应用程序,其中我有一个简单的画廊模型,每个画廊都有许多图像.图像模型使用回形针扩展,并具有以下选项 has_attached_file :local, :styles => { :large => "800x800>", :medium => "300x300>", :thumb => "100x100#", :small => "60x60#" } 在我的Galleries_controller中,我有以下操作,以便与 jquery-file "> jquery-file -upload 插件.因此,JSON回应. def add_image gallery = Gallery.find params[:id] image = gallery.images.new({:local => params[:local]}) if image.save r
16 2023-11-25
编程技术问答社区