Articles of ruby

如何在ec2上运行ruby / unicorn / nginx / app的AB Benchmarks?

我正准备与一个应用程序,并想知道是否有人可以给我一些见解我的基准。 他们如何比较,我可以做什么系统级的调整,以提高他们等等。 我的设置如下: m1.large amazon ec2实例,运行Ubuntu 11.04 Natty。 Nginx作为Web请求的反向代理。 这些请求被unix socket套接到一群提供ruby(1.9.2)应用程序的独angular兽工作者(Sinatra作为框架) 当运行apache替代时,如下ab -n 10000 -c 10 http://localhost/我得到的内存消耗可以忽略不计,还有更高的CPU峰值。 我看到大约75-80%的CPU使用率 最佳结果: Cpu(s): 43.1%us, 20.9%sy, 0.0%ni, 21.5%id, 1.0%wa, 0.0%hi, 2.4%si, 11.1%st 我的基准testing结果如下: Server Software: nginx/0.8.54 Server Hostname: loalhost Server Port: 80 Document Path: / Document Length: 3683 bytes Concurrency Level: 10 Time taken for tests: 13.072 seconds Complete […]

我如何需要基于数组参数的Puppet定义中的资源?

我有一个像这样的定义: define user::sys_user($fullname, $uid, $groups, $shell='/bin/bash', $authkey, $authkey_type=rsa) { $username = "sys_${name}" group { $username: gid => $uid, } user { $username: require => Group[$username], ensure => present, uid => $uid, gid => $uid, groups => $groups, comment => $fullname, shell => $shell, managehome => true, allowdupe => false, } ssh_authorized_key { "${username}_authkey": user => […]

在Ubuntu上获得由用户或Rails应用程序花费的带宽

我正在AWS实例上运行多个rails应用程序,我需要知道每个应用程序使用/浪费多less带宽。 一些应用程序在passenger上运行Apache2 ,其中一些运行在Passenger standalone服务器上,其中一些运行在WebRick standalone服务器上。 另外,每个应用程序都位于相应的家庭用户目录下,因为我们为每个项目创build了一个用户。 现在,我是否可以获得每个用户的带宽使用情况,并将其logging到文本文件?甚至直接到我的数据库? 或者,我可以获得每个Ruby on Rails应用程序运行的带宽使用情况吗? 我已经使用iptraf命令行实用程序,但它是在一个服务器托pipe一个单一的rails应用程序,只需要logging在一个接口的stream量,现在我需要由用户或应用程序的用法。 任何帮助? 谢谢。

无法为Apache安装Passenger

要设置Passenger,必须安装一些软件包,例如libcurl4-openssl-dev: user@ubuntu:~$ sudo apt-get install libcurl4-openssl-dev Reading package lists… Done Building dependency tree Reading state information… Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of […]

如何使用nginx,rails和uploadify上传大文件(大于1MB)

我有我的生产nginxconfiguration的问题(在我的开发机与杂种的一切工作)。 我的环境是:nginx作为代理,rainbows作为后台运行轨道3.1应用程序与ruby1.9.2。 当我试图上传大文件(大于1MB)时,在我的网站和nginx错误日志文件中看到502错误: 2012/04/02 14:45:17 [error] 14415#0: *658 sendfile() failed (32: Broken pipe) while sending request to upstream, …. 我试过了: 设置client_max_body_size 5m; keepalive_timeout 600; 上传较小的文件正常工作。 可能是什么问题呢?

加载自定义木偶函数的依赖关系

我已经写了一个自定义的puppet函数,它工作正常,取决于cloudservers gem(一个Rackspace客户端库)。 如果我在运行puppet之前在服务器上预先安装了gem,但是如果我没有安装gem,就好像在“编译”扫描过程中似乎正在运行的function完全中断,而且在我的包定义已经实现之前就完成了。 这是我的.pp的样子,get_hosts是需要cloudservers gem的函数。 package { "rubygems": ensure => installed, provider => "gem"; } package { "cloudservers": ensure => installed, provider => "gem", require => Package["rubygems"]; } class hosts::us { $hosts = get_hosts("us") hostentry { $hosts: } } define hostentry() { $parts = split($name, ',') $address = $parts[0] $ip = $parts[1] $aliases = $parts[2] […]

从源代码引导Ubuntu 12.04与Ruby 1.9.3时丢失的库

对任何不正确的术语抱歉。 我使用Chef来自动部署服务器。 我已经构build了一个AMI,它具有从源代码编译的Ruby 1.9.3,然后厨师接pipe了这一点。 当ruby从源代码libruby.so.1.9被编译时被添加到/ usr / lib中。 问题是在主厨运行期间需要'mysql'失败,因为它正在寻找不存在的libruby-1.9.1.so.1.9。 我可以通过运行sudo apt-get install libruby1.9.1来解决这个问题,但是我认为这可能是一个更优雅的解决scheme,理想情况下,我可以添加到AMI或修复此问题的主厨部署中。 有任何想法吗?

允许一个组在CentOS中的某个目录下运行所有​​文件

我正在尝试使用Capistrano为我的Rails应用程序设置自动部署。 Capistrano将需要运行sudo kill ,并且通过编辑/etc/sudoers文件(当然是通过visudo ),在没有它的情况下要求input密码,然后添加以下行: %deployers ALL= NOPASSWD: /bin/kill 但是,由于我使用RVM单用户设置, bundle可执行文件位于/home/peddiemarketdeploy/.rvm/gems/ruby-1.9.3-p194/bin/bundle ,因此,同样,我添加 %deployers ALL= NOPASSWD: /home/peddiemarketdeploy/.rvm/gems/* 在那个文件中,并尝试运行sudo bundle ,但sudo仍然要求我input密码。 由于RVM以目录名称使用版本号,所以我不想将path硬编码到/etc/sudoers 。 任何想法如何编辑我的sudoers文件,使其工作? 谢谢!

Ruby应用程序Webroot位置

我在工作中inheritance了一个ruby应用程序,我对ruby托pipe环境相当陌生。 该应用程序托pipe在一个Linux服务器上,但我无法findwebroot的位置。 我已经寻找/ var / www这是Apache的Linux的Webroot我已经与其他应用程序的webroot。 但是这个位置在这台服务器上不存在。 我正在浏览服务器上的文件夹,并有一种感觉,它可能是使用Nginx +乘客。 有人能指出我正确的方向在哪里看? 任何帮助是极大的赞赏。

EC2上Rails的最佳configuration和部署策略

我正在准备部署一个应用程序,我想确保我正在使用最新和最好的工具。 计划是在EC2上进行,因为Heroku对于这个应用来说成本太高。 最近,我使用Chef和Opscode平台来构build和pipe理服务器基础架构,然后使用Capistrano进行部署。 这仍然被认为是最好的(或者至less是“好的”)做法吗? 厨师的设置一旦完成就很好,但设置起来相当麻烦。 同样,卡皮斯特拉诺在过去几年对我很好,但我想我会花一些时间来环顾四周,看看是否有任何景观变化,我错过了。