Articles of ruby

百胜安装libyaml已经解散的问题

试图让ruby和运行在一个centos 5盒。 yum install libyaml-devel Loaded plugins: fastestmirror Repository base is listed more than once in the configuration Repository updates is listed more than once in the configuration Repository extras is listed more than once in the configuration Repository centosplus is listed more than once in the configuration Repository contrib is listed more than once […]

Phusion Passenger上的Rails应用程序(Redmine)在首次请求时非常缓慢

我最近在AWS服务器上部署了一个Redmine应用程序(生产环境),每当我经过一段时间(10多分钟)后进入页面,加载页面花费很长时间。 search结果之后,我偶然发现了PassengerPoolIdleTime这个设置为0的乘客。根据我对这个设置做的有限的理解,它应该保持我的站点始终运行,不应该旋转任何更多的线程。 我已经把这个设置添加到/etc/apache2/apache2.conf,但是没有帮助。 我还为我的VirtualHost指令添加了一个PassengerMinInstances,但都无济于事。 有人能帮我解决这个问题吗? 提前致谢。

继续Bundler安装

我正试图在Debian Wheezy上安装Gitorious。 gitorious使用捆绑器进行自动安装。 当我运行“捆绑安装”(不仅在安装gitorious时,也redmine例如)我有时会得到如下错误: Gem::Ext::BuildError: ERROR: Failed to build gem native extension. ~/.rvm/rubies/ruby-2.1.0/bin/ruby extconf.rb creating Makefile make "DESTDIR=" clean make "DESTDIR=" compiling houdini_js_e.c compiling houdini_xml_e.c compiling houdini_html_u.c compiling houdini_html_e.c compiling houdini_uri_u.c compiling escape_utils.c escape_utils.c: In function 'rb_eu_escape_html_as_html_safe': escape_utils.c:126:2: error: assignment of read-only member 'klass' make: *** [escape_utils.o] Error 1 make failed, exit code 2 Gem […]

厨师gem_package不使用二进制path

我正尝试在配方中安装一个windows server 2008r2上的gem“sensu_plugin”和“mixlib-shellout”。 在这最后一个,我有以下代码: %w{ sensu-plugin mixlib-shellout }.each do |gem_plugin| gem_package gem_plugin do gem_binary("C:/opt/sensu/embedded/bin/gem") options("–no-rdoc –no-ri") action :install end end 然而,当我的机器上运行食谱,我收到错误“错误:执行gem…(Errno :: ENOENT)没有这样的文件或目录 – U:/”。 我发现,每当我尝试使用位于chef-client目录(C:\ opscode \ chef \ embedded \ bin \ gem)中的gem二进制文件安装gem包时,就会引发最后一个错误。 问题是,我希望用来安装gem包的gem实际上位于C:/ opt / sensu / embedded / bin / gem,我已经在gem_binary选项中声明了它。 最后,它看起来像厨师忽略了gem_binary选项,并试图从它自己的gem二进制文件安装它。 我设法让它在只有1个磁盘(C:/)的testing环境中工作,并在那里工作。 但是,只要我进入一个安装磁盘(U:和更多)的实时环境,我得到了以前的错误。 难道这是因为厨师正在寻找可能在U盘的用户家吗? 我看不出这个configuration有什么问题。 gem_binary是否真的指出要使用哪个二进制文件?

无法将Ruby 2,Rails 4应用程序部署到Linode

我有一个Rails 4应用程序,我想部署到我的Linode,我很努力得到这个工作。 我遵循了Linode指南中的所有基本说明,还安装了我的应用程序的所有依赖项,configuration了数据库,创build了部署者用户,并执行了Linode指南所build议的所有configuration。 我甚至安装了Postgres并设置了我的用户和BD。 此外,我已经解决了我的应用程序的所有依赖关系(Ruby或不),所有的Ruby依赖关系通过Bundler解决。 我尝试了一切基于这个截屏http://railscasts.com/episodes/335-deploying-to-a-vps 。 我有,也指出我的域名地址的机器,但应用程序本身没有路由到这个地址,我真的需要它,因为客户希望看到页面在生产ASAP。 当我作为部署者(非pipe理员)用户login到我的Linode并运行ls命令时,它返回给我这个: apps database.yml public 在public我有: example.com somosprofessores.org 它们对应着我的Linode和我的应用程序自带的Rails应用程序根目录下的基本示例应用程序。 不幸的是,Linode的支持不能帮助我,而Rails的部署指南是非常不完整的,我真的需要做到这一点。 请帮帮我。 技术规格: Ubuntu 13.10 Ruby 2.0 Rails 4 PostgreSQL 9.1 Nginx

在空隙(无互联网接入)networking中部署Ruby应用程序

我工作中的当前networking设置使得部署Ruby Web应用程序变得困难。 我们正在运行我们的生产RHEL服务器,在空隙networking中无法访问公共互联网。 我的工作站显然可以通过SSH将包和文件传输到服务器,但是像RVM这样的工具几乎不可能在没有直接互联网访问的情况下安装。 gem依赖也是可怕的处理。 这可以用bundler进行部分补救,但是如果一个gem依赖于需要编译的包,那么在我开发(和捆绑)到OSX上的时候,它是行不通的。 我想到了两个可能的解决办法,但是想让更多的专业人士借我一些指点。 这是我的想法: 在工作站的本地虚拟机上安装Ruby应用程序。 当一切都已经build立,不知何故采取文件系统(git也许?)的差异将被传输到生产服务器,并提取。 设置一个反向的SSH隧道来暂时获取生产服务器上的互联网访问权限(这甚至可能吗?)。 这些想法是否可行? 如果是这样,你会推荐哪一个,我将如何去实施呢? 谢谢您的帮助!

构buildruby之后哪些依赖关系是可移除的?

我已经通过安装以下依赖项在Ubuntu / Debian上成功构build了ruby 2.1.1 : apt-get install \ autoconf \ bison \ build-essential \ libssl-dev \ libyaml-dev \ libreadline6 \ libreadline6-dev \ zlib1g \ zlib1g-dev 生成后想要删除包我不需要了,因为我试图保持这个图像尽可能小。 构build后可以删除哪些(如果有)? 有没有启发式的呢?

Redhat戒烟过程永远不会总是要杀死它

我正在创build一个独angular兽进程的RedHat服务器上工作。 我有两套正在创build的这些进程。 我可以退出过程中的一个罚款,一遍又一遍地创build它并退出。 我能够创build的另一个进程,但我不能退出它。 我必须像这样发送KILL命令。 kill -9 [process] 别人告诉我,你只应该杀一个人,作为最后的手段。 如果这个过程挂了或者类似的东西。 由于这是一个通过独angular兽的脚本化过程,所以杀死它可能并不聪明。 问题是我怎样才能debugging为什么这些进程之一不能够退出,而是总是需要的KILL命令。 另外这两个进程是通过脚本使用RAILS_ENVvariables创build的。 所以我假设他们正在创造相同的所有权和所有这一切。 我做了validation所有权和权限都看起来一样。 任何帮助将是很好的跟踪下来。 目前我试图使用Strace没有运气。

厨师,系统库安装nokogiri在Centos6.5上失败

我正在尝试在Centos 6.5上修复需要gems nokogiri和savon的配方。 由于简单 chef_gem 'nokogiri' require 'nokogiri' chef_gem 'savon' require 'savon' 不行(厨师说补丁libxml2 2.8.0返回错误),(编辑:这里是完整的错误http://pastebin.com/mUZVyZ4H ) 我决定尝试与系统库安装nokogiri。 如果我直接在服务器上执行一切工作正常: [vagrant@localhost ~]$ sudo /opt/chef/embedded/bin/gem install nokogiri -q –no-rdoc –no-ri -v "1.6.2.1" — –use-system-libraries Building native extensions. This could take a while… Building nokogiri using system libraries. Successfully installed mini_portile-0.6.0 Successfully installed nokogiri-1.6.2.1 2 gems installed 但是,如果我使用命令通过Chef运行安装: chef_gem "nokogiri" […]

Rails json请求很慢

我正在开发与Rails作为后端angularjs应用程序。 它由DigitalOccean最小的服务器托pipe。 在我的生产系统中,只有我现在正在testing。 问题是请求需要相当长的时间,我不知道时间在哪里丢失。 例如 我做了一个JSON请求到后端。 大约需要500毫秒。 该请求是gzipped。 在rails网站上,我使用rabl来进行json响应。 我对服务器的ping大概是30毫秒 导轨请求在100毫秒内在服务器上呈现。 400毫秒的时间在哪里? 有任何想法吗? 我有两个屏幕截图来自chrome timing和rails log。 Rails版本4.1.4 Ruby 2.1.0 nginx 1.6.0 Ubuntu 12.04 Postgres 9.2 Angularjs 1.2.21 独angular兽