Articles of ruby on rails

当使用rvm时,gem环境和$ GEM_PATH不会更新

我试图升级与cPanel的服务器上的ruby和铁轨gem,做到这一点我安装rvm,我成功地安装了不同版本的ruby…伟大的东西! 虽然有一个问题,但服务器似乎忽略了使用哪个gemset。 在安装1.9.2的新副本之后,我仍然可以得到相同的gem列表,而GEM_PATH / GEMHOME也是一样的: $>gem env RubyGems Environment: – RUBYGEMS VERSION: 1.8.15 – RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-linux] – INSTALLATION DIRECTORY: /home/ruby/ruby/gems – RUBY EXECUTABLE: /home/ruby/.rvm/rubies/ruby-1.9.2-p290/bin/ruby – EXECUTABLE DIRECTORY: /home/ruby/ruby/gems/bin – RUBYGEMS PLATFORMS: – ruby – x86_64-linux – GEM PATHS: – /home/ruby/ruby/gems – GEM CONFIGURATION: – :update_sources => true – :verbose => […]

无法连接到生产中的Postgres

我试图连接到本地IP上的Postgres实例,我可以连接到使用psql -h localhost命令没有问题。 然而,试图通过rails运行,我得到这个: $ rails c production /home/avishai/.rvm/gems/ruby-1.9.3-p125/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize': could not connect to server: Connection refused (PG::Error) Is the server running on host "10.61.99.194" and accepting TCP/IP connections on port 5432? 这是我的/etc/postgresql/9.1/main/pg_hba.conf : # DO NOT DISABLE! # If you change this first entry you will need to make sure that the # database […]

我应该添加用户万维网数据? 试图让Rails离开地面

我试图在Redhat服务器上设置一个Rails应用程序,按照我在多个教程中find的说明,我希望将某些目录的所有者设置为“www-data”,以便Passenger拥有所有者访问权限。 但是,我发现这个用户不存在,所以我怀疑:我应该使用adduser命令的用户? 我读到的是,如果我这样做,但不设置密码,用户应被locking。 我是为这个用户创build一个密码吗? 这个主题的标题在说“让Rails脱离地面”方面有些误导,因为我实际上已经运行了这个应用程序了一段时间,但是我想实现最佳实践。

真的推荐在生产服务器上从源代码构buildRuby吗?

我已经看到所有使用RVM / rbenv的人在Linux上安装最新版本的Ruby。 在开发过程中,我明白这样做可能是可以的,但是我不明白为什么要在生产服务器上执行此操作,而不是在发行版的软件包pipe理器上使用Ruby版本。 使用最新版本的Rails(4.2)与Debian的包pipe理器(目前2.1)的Ruby版本是否有任何缺点? 我的目标是尽可能稳定和安全,我不在乎那些shiny的新东西。

如何自动安装Phusion Passenger和Nginx?

当命令: ./passenger-install-nginx-module 运行时,login到服务器时会提出一系列问题。 目标是自动化这个过程,如果在安装过程中需要特定的答案,怎么做呢?

多个Rails应用程序在同一个子域?

我最近决定尝试Rails。 在使用PHP时,我只将所有的PHP项目放在同一个目录中。 例如,我可能有http://ubuntu/app1 , http://ubuntu/app2等 我为Rails创build了一个子域( http://ruby.ubuntu ),安装了Rails和Passenger,一切正常。 但是,我可能是错的,但它看起来像我只能有一个Rails应用程序每个子域? 我的VirtualHost如下: <VirtualHost *:80> ServerName ruby.ubuntu ServerAdmin webmaster@localhost DocumentRoot /var/www/ruby/blog/public <Directory /var/www/ruby/blog/public> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all RailsEnv development </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible […]

nginx条件Accept头

某些移动设备向我们的服务器发送以下不正确的请求: GET / HTTP/1.0 Accept: User-Agent : xxx 空的Accept标头会导致我们的Ruby on Rails服务器返回一个500错误。 在Apache中,以下指令允许我们在将头发送到应用程序RoR服务器之前重写头文件,以便处理破碎的设备: RequestHeader edit Accept ^$ "*/*" early 我们目前正在设置nginx,但是实现相同的解决scheme却很困难。 我们可以设置: proxy_set_header Accept */*; 但是,这似乎必须无条件地完成。 每当试图做: if ($http_accept !~ ".") { proxy_set_header Accept */*; } 它抱怨的消息: "proxy_set_header" directive is not allowed here 因此,使用nginx,在将请求发送到应用程序服务器之前,如何将HTTP Accept头设置为空时设置为*/* ?

客户乘客错误页面

如何更换乘客应用程序未能加载错误消息。 他们很可爱,但我们宁愿不把它们展示给我们,因为我们把应用程序转移到了产品上。 只要把它们展示在现场的开发箱和维护页面上就更好了。 澄清,这是您的导轨应用程序无法加载时乘客显示的调用堆栈页面。 我宁愿不直接修改旅客模板文件。 乘客似乎并不尊重: ErrorDocument 500 /500.html

木偶ERB模板 – 关于定义的类的问题

木偶模板文件是erb rails文件。 我想要的行: Include modsecurity.d/*.conf 如果包含类mod_security,则包含在最终文件中。 从傀儡文档: http : //docs.puppetlabs.com/guides/templating.html – 这个片段将打印目录中的所有定义的类: <% classes.each do |klass| -%> The class <%= klass %> is defined <% end -%> 条件: <% if broadcast != "NONE" %> broadcast <%= broadcast %> <% end %> 我是新的语法。 定义的意思是否与包含一样? 对于条件如何检查一个特定的类,即如果isdefined(mod_security)…?

在我的networking服务器日志中,“引用者”是什么意思?

我的服务器最近崩溃了。 我使用Ruby Version Manager在一个共享服务器上运行两个nginx服务器来处理gem依赖关系。 在设置.rvmrc来切换应用程序所做的调用之后,一切都相当顺利。 但是每隔几天就会崩溃。 我认为原因可能是我拉代码,或重新启动另一个框。 不完全确定。 我进入日志,发现这一点,发现一个非常奇怪的链接作为“引荐”。 没有一个想法是一个“推荐人”,这肯定与我的网站www.truejersey.com没有任何关系。 我不知道这些日志是什么意思,所以只需一个简单的解释就可以得到答案。 非常感谢! 2011/03/04 10:11:38 [info] 25504#0: *20008271 client closed prematurely connection, so upstream connection is closed too (104: Connection reset by peer) while sending request to upstream, client: 194.65.234.120, server: true.shadyfront.webfactional.com, request: "GET /pages/aboutjersey/photos/thumbs/nj-gazette.jpg HTTP/1.1", upstream: "http://127.0.0.1:11363/pages/aboutjersey/photos/thumbs/nj-gazette.jpg", host: "www.truejersey.com", referrer: "http://www.portalentretextos.com.br/colunas/recontando-estorias-do-dominio-publico/eo-demonio-de-nova-jersey-o-decimo-terceiro-filho-de-deborah-leeds,236,4485.html" 2011/03/04 10:22:02 [info] 25503#0: […]