标签: ruby-on-rails

过高的托管成本

我的一个客户每月收取大约 1400 美元的托管费用。然而,该网站每天平均只有大约 200 次点击,并且不提供大文件或视频。

它由http://www.engineyard.com/托管,我查看了账单和“标准支持标准 CPU 超大实例使用”功能,每月 833 美元加上无数其他订单项。我不知道如何为这样一个小网站提供服务可能会产生如此巨大的成本——有人对此有任何经验/想法吗?

更新:

另外什么是“标准支持标准 CPU 超大实例使用”,究竟是什么?

hosting cloud ruby-on-rails

3
推荐指数
1
解决办法
316
查看次数

使用 rvm 时 gem 环境和 $GEM_PATH 未更新

我正在尝试在带有 cPanel 的服务器上升级 ruby​​ 和 rails 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 => true
– :benchmark => false
– :backtrace => false
– :bulk_threshold …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rvm

3
推荐指数
1
解决办法
2863
查看次数

Ruby on Rails 和 PHP 在同一个 Apache Web 服务器上?

所以我真的习惯了 LAMP 堆栈,并且在我的 Ubuntu 服务器上安装了 Apache 和 PHP,大约有 30 个 PHP 站点。我想在基于 Ruby on Rails 的站点上抛出一个新项目。是否可以继续使用 Apache 并将 RoR 项目放在 /var/www/ 中的所有其他项目旁边?

另外,在默认的 Ubuntu 服务器安装上安装 RoR 的最佳方法是什么?

谢谢!

php web-server ruby-on-rails apache-2.2

2
推荐指数
1
解决办法
2795
查看次数

如何自动安装 Phusion Passenger 和 Nginx?

当命令:

./passenger-install-nginx-module
Run Code Online (Sandbox Code Playgroud)

运行时,它会在登录到服务器时询问一堆问题。

目的是使这个过程自动化,如果在安装过程中需要特定的答案,如何做到这一点?

automation ubuntu nginx ruby-on-rails phusion-passenger

2
推荐指数
1
解决办法
210
查看次数

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

我最近决定尝试使用 Rails。使用 PHP 时,我只是将所有 PHP 项目放在同一目录中。例如,我可能有http://ubuntu/app1http://ubuntu/app2等等。

我为 Rails ( http://ruby.ubuntu)创建了一个子域,安装了 Rails 和乘客,一切正常。但是,我可能错了,但看起来每个子域只能有一个 Rails 应用程序?

我的虚拟主机如下:

<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 values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log …
Run Code Online (Sandbox Code Playgroud)

ubuntu ruby-on-rails phusion-passenger apache-2.2

2
推荐指数
1
解决办法
3320
查看次数

如何在 ubuntu 上正确保护 Unicorn/RoR 服务器?或者,强化 RoR 应用程序堆栈?

我在 Ubuntu 12.04 上运行的 Unicorn 服务器很少,我希望保护它们免受提供远程 shell 的攻击。

我主要关心的是,部署 ModSecurity 是否有意义?

另一件事是,我看到 Unicorn 通常从端口 8080 运行,并将其转发到用作反向代理的 Apache/NginX 服务器端口 80。

我在想我可以使用以下内容:

  • Apache 上的 ModSecurity
  • 使用 mod_qos 作为工作线程(线程)的 Apache,以防止来自任何主机的过多请求
  • 从指定用户运行独角兽服务器并通过 AppArmor 或 SELinux(如果它是 Redhat/Centos)将其隔离

我想知道,是否有另一个像 PHP Suhosin 这样的 RoR 强化框架/补丁。

ubuntu ruby-on-rails unicorn apache-2.2 apparmor

2
推荐指数
1
解决办法
1071
查看次数

移动后Redmine无法启动

从一台服务器移动到另一台服务器时,我遇到了 redmine(或 ruby​​ 配置)的问题

redmine@dirty:~/www$ ruby script/rails server webrick -e production
/usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `require': Incorrect MySQL client library version! This gem was compiled for 5.5.17 but the client library is 5.1.59. (RuntimeError)
        from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `require'   
        from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
        from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `each'
        from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:72:in `block in require'
        from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `each'
        from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler/runtime.rb:61:in `require'   
        from /usr/local/rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.5.2/lib/bundler.rb:131:in `require'
        from /home/redmine/redmine-2.4/config/application.rb:7:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `require'
        from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:53:in `block in <top (required)>'
        from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in `tap'
        from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/railties-3.2.16/lib/rails/commands.rb:50:in …
Run Code Online (Sandbox Code Playgroud)

mysql redmine ruby ruby-on-rails gem

2
推荐指数
1
解决办法
648
查看次数

如何确保我们的应用程序的邮件传递?

我们有一个用于支持和帮助票的 Rails 应用程序。

当客户提交请求时,它会向客户发送确认电子邮件。当我们回复他们的请求时,它还会发送一封电子邮件。它不接收邮件。

在上周,我们 25% 以上的客户停止收到他们的回复。他们认为我们没有回复他们的票(实际上是)。

我用我的@yahoo.com 帐户做了一个测试,并在 mail.log 文件中找到了这个:

Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: host b.mx.mail.yahoo.com[66.196.97.250] said: 451 Message temporarily deferred - [140] (in reply to end of DATA command)
Jul  9 16:11:45 bighelp postfix/smtp[9051]: BF673324365: to=<erik.dungan@yahoo.com>, relay=d.mx.mail.yahoo.com[68.142.202.247]:25, delay=0.73, delays=0.02/0.02/0.64/0.05, dsn=4.0.$
Run Code Online (Sandbox Code Playgroud)

其他非雅虎地址也遇到了这种情况。

Rails 应用程序在 Ubuntu 上运行,我们通过以下方式发送:

ActionMailer::Base.delivery_method = :sendmail
Run Code Online (Sandbox Code Playgroud)

我确保服务器不是开放中继。

我还能做些什么来确保我们的大部分电子邮件都能通过?

email linux ubuntu sendmail ruby-on-rails

1
推荐指数
1
解决办法
1187
查看次数

如何在 Ubuntu 上使用 Apache2 和 Ruby on Rails 设置 SSL?

在 Apache2/Ubuntu 上托管的 Ruby on Rails 应用程序上设置 SSL 需要采取哪些步骤?

ubuntu ssl ruby-on-rails apache-2.2

1
推荐指数
1
解决办法
3811
查看次数

Ubuntu 10.10 的软件包问题和乘客要求

我正在尝试让乘客使用Ubuntu 10.10 (Maverick Meerkat),但我遇到了一个问题。乘客安装程序似乎无法识别虚拟包。我收到此错误:

代码:

passenger-install-apache2-module
...
* OpenSSL support for Ruby... not found
...
Run Code Online (Sandbox Code Playgroud)

然后它说,运行这个:

* To install OpenSSL support for Ruby:
   Please run apt-get install libopenssl-ruby as root.
Run Code Online (Sandbox Code Playgroud)

当我运行上面的命令时,它指的是 libruby 包:

sudo apt-get install libopenssl-ruby
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libruby' instead of 'libopenssl-ruby'
libruby is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 43 not upgraded.
Run Code Online (Sandbox Code Playgroud)

当我查看 libruby 的详细信息时,它说它提供了 libopenssl-ruby:

代码:

Provides: libbigdecimal-ruby, …
Run Code Online (Sandbox Code Playgroud)

ubuntu ruby-on-rails phusion-passenger apt

1
推荐指数
1
解决办法
1170
查看次数