Articles of ruby

384 MB的足够启动VPS?

我正在考虑租用384 MB内存的VPS。 它将在CentOS上运行,并将与Apache 2 / MySQL的cPanel和Phusion Passenger与nginx / sqlite。 你觉得呢,它有足够的记忆吗? 它将服务于10个小stream量的PHP / MySQL网站和3-4个小stream量的Ruby on Rails应用程序。 感谢您的build议。

适当的Passenger + Apache权限修复错误“没有这样的文件或目录 – config / environment.rb”

我有一个乘客不能启动的问题,因为乘客声称:没有这样的文件或目录 – config / environment.rb显然是一个普遍的问题。 我已经searchnetworking的高低,这似乎是一个权限相关的问题。 这是我的理解,乘客作为config.ru和config / environment.rb文件的所有者运行。 在我的情况下,这个所有者是“pipe理员”。 我正在运行pipe理员用户的主目录中的应用程序根目录。 所以我相信我有正确的权限设置使用: sudo chown -R admin:admin /home/admin/www和sudo chmod -R 755 /home/admin/www 应用程序根目录位于:/ home / admin / www / app 这是我的虚拟服务器configuration文件: <VirtualHost *:80> ServerName track.example.com DocumentRoot /home/admin/www/app/current/public <Directory /home/admin/www/app/current/public> Options FollowSymLinks AllowOverride none Order allow,deny Allow from all </Directory> PassengerResolveSymlinksInDocumentRoot on RailsBaseURI / PassengerAppRoot /home/admin/www/app RailsEnv […]

如何configurationMonit以与Puma Ruby Web Server一起使用?

我正在开始使用Monit,并没有太多的系统知识。 我有一个运行在Puma上的Ruby应用程序。 我想用Monit来自动重启Puma,如果它死的话。 我目前正在使用Puma提供的Capistrano 2配方 ,它使用控制脚本而不是将PID输出到文件。 有没有办法configurationmonit来检查Puma的状态,看它是否应该重启?

Ruby在Ubuntu 10.10上安装在一台机器上很慢,但不是其他的

我有几个月前提供的机器。 RVM被用来安装ruby1.9.3-p125以及1.9.3-p125-perf。 当我将原始ruby的性能与另一台相同的机器进行比较时,旧的机器吸入了它们。 例如: ================================================================================ With in-block needle calculation ================================================================================ Rehearsal ———————————————- detect 3.790000 0.000000 3.790000 ( 3.800895) each 2.410000 0.000000 2.410000 ( 2.420860) any 3.960000 0.000000 3.960000 ( 3.972099) include 1.440000 0.000000 1.440000 ( 1.442862) ———————————— total: 11.600000sec VS ================================================================================ With in-block needle calculation ================================================================================ Rehearsal ———————————————- detect 10.740000 0.000000 10.740000 ( 10.769366) each […]

当通过SSL使用proxy_pass时,Nginxredirect循环

我们使用Nginx作为Rails应用程序的负载平衡器。 由于我们正在转向多路由器托pipe解决scheme,因此我们希望负载均衡器在将请求转发到前端时为每个连接开始使用SSL,因为其中一些可能会通过互联网。 我面临的问题是非https页面创build了一个redirect循环。 这似乎是由于X-Forwarded-Proto头部设置不正确而造成的。 所以当rails在http上获取请求时,它认为这是一个https请求,即使它不是,所以它redirect到http,它认为它是一个https请求等等。 谷歌search量似乎没有帮助我解决这个问题。 所以我想知道: 这是由NGINX支持(我认为是) 我的configuration有问题吗? 我的方法在概念上有什么问题吗? 谢谢! user www-data; worker_processes 2; events { worker_connections 1024; use epoll; } http { passenger_root /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/passenger-3.0.2; passenger_ruby /opt/ruby-enterprise/bin/ruby; passenger_pool_idle_time 0; passenger_max_pool_size 20; # Over all apps passenger_min_instances 5; # Over each app passenger_use_global_queue on; rails_env production; include mime.types; default_type application/octet-stream; log_format main '"$remote_addr", "$remote_user", "$time_local", […]

没有服务于Sinatra应用程序的Apache + Passenger

自上次Fusion Passenger更新以来,我所有的Sinatra应用程序都停止了以下env的工作:Apache(2.4.17),Phusion Passenger(5.0.21)。 在更新乘客中间件之前,一切都按预期工作。 问题是,当我请求虚拟主机的url( https://myapp.ch )时,apache目录正在尝试进入公共目录的列表。 ODD部分:如果请求Sinatra控制器中定义的路由(即: https : //myapp.ch/infos ),则启动乘客并按预期提供请求的页面。 这是虚拟主机部分: <VirtualHost *:443> DocumentRoot /home/user1/sinatra/app1/public ServerName myapp.ch <Directory /home/user1/sinatra/app1/public> AllowOverride all Order allow,deny Allow from all Options -MultiViews Require all granted </Directory> Config.ru # encoding: UTF-8 require 'rubygems' require 'sinatra' require File.expand_path '../start.rb', __FILE__ run Sinatra::Application 请求Sinatra应用程序的根(/)时,Apache日志错误: [Mon Oct 26 22:10:30.728795 2015] [autoindex:error] […]

如何确定一个服务器的ruby瘦/杂种实例的最佳数量,核心数量?

我们正试图在机器上部署mongrel实例。 什么是服务器的最佳数量的杂种实例? 由于一个实例可以处理并发连接,所以我不认为每个内核启动一个以上的好处。 除此之外,线程只会争取CPU。 我们的前任已经为4个内核分配了10个实例,但我认为这只会导致CPU的争夺。 任何明确的答案/意见? 我看到这个问题: 多less个杂种实例? 但是它确实不够具体。

维护/安装ruby/ruby在一般的Linux和Gentoo的轨道上

我目前正在研究Ruby / Ruby on Rails作为Python / Django的替代品。 我的主要问题是,在Linux上安装Ruby gems和/或Ruby on Rails项目时,最好的做法还是不清楚,特别是在一般的dist或Gentoo上。 在Gentoo中,开发者倾向于打包gem。 这是通过portage而不是gem安装的最佳方式。 但是我不知道这是否正确,因为你总是会缺less重要的项目和依赖关系,因此你不得不编写自己的ebuild(不是很重要)并维护它。 在这一点上,我没有看到任何更多的优势,因为一旦我写了自己的ebuild,我就必须密切关注这些软件包,因为这个软件包不会有什么不可思议的麻烦。 :-)另外,Ruby世界是一个快速移动的目标,而且并不是所有包装在dist树中的gem都是真正的速度。 另一方面,通过Bundler直接安装或者直接通过gem包pipe理器安装,看起来也不错。 如果你不小心,你可以绕过包裹经理,并且有两个竞争的经理。 例如,Ruby 1.9.4的dist更新引入了一些特定于dist的特性,并且一些gem意外中断。 然而他们为自己打包gem。 或者,如果您使用Bundler,那么对于它们的依赖关系版本,项目往往会相当严格,因此,即使有依赖关系的安全更新可用,也可能得不到它,因为项目明确指定了一个版本。 所以你必须再次手动跳入。 现在,我将非常感谢社区关于正确方式(TM)处理此类事情的意见,以及如何在生产服务器上正确维护Ruby / Ruby on Rails基础和多个项目(包括第三方项目)。 请注意,这不是关于如何部署项目/应用程序。 这是关于维护的最佳实践…

如何启用redmine(ruby on rails)日志logging?

由于某种原因,我的RedMine安装从来没有得到任何日志文件。 Redmine是一个用Ruby on Rails编写的开源项目pipe理系统。 我是一个Ruby或Rails的新手。 已经search了维基,论坛,门票没有任何线索这个看似简单的事情。 顺便说一句,这是从这个TurnKey Linux应用程序的以前版本的升级。 我可以看到旧版本的备份文件夹中有一个日志文件,里面有大量的日志信息。 但是我的/var/www/railsapp/log/production.log只有几天前的一行,宣布创build日志。 现在,我真正的问题是开始在应用程序中发生的一些奇怪的事情,但我觉得,A)看到日志,我可能意识到这是我改变了我的configuration(虚拟机和networking设置mucking)B)将有日志在一个问题上发布给红矿团队。 同时,我甚至无法login任何东西。 是否有debugging级别设置? 韦恩,真诚

启动Unicorn时不允许操作

我已经在Ubuntu(Amazon EC2)上创build了一个nginx / unicorn / capistrato安装程序,主要遵循本指南 。 我猜一切都是应该设置的,但是当我启动Unicorn时,我在日志中得到了这个错误(很多): E, [2012-09-08T08:57:20.658092 #12356] ERROR — : Operation not permitted (Errno::EPERM) /home/deployer/apps/bridgekalenderen.no/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/worker.rb:82:in `initgroups' 我看到它与用户的权限有关,但我无法弄清楚我所遗漏的内容。 服务器启动很好,如果我用sudo(或者rvmsudo,真的)启动它。 用户具有sudofunction,我已经chmod了几次应用程序,所以文件权限应该没问题。 / tmp中的独angular兽套接字由部署者用户拥有,所以不应该成为问题。 有人有线索在哪里看? 更新: 经过一番挖掘,我发现它归结为一个调用Process.initgroups抛出EPERM。 我已经通过irbvalidation了这一点。 我无法弄清楚是什么原因导致了错误。 用户可以读取/etc/group 。