Tag: thin

对于Ruby on Rails,当使用Webrick时,它是否支持并发请求和Keep-Alive,以及为什么加载.js和.png文件这么慢?

我正在运行Rails 3.0.5,并且在控制台上报告了一个页面需要60ms,但如果我检查Firefox Net加载时间图表,则需要2.9秒。 如果我在Bash上运行ab命令,它说需要300ms。 因此,如果移除了javascripts(其中6个),那么它需要1.9秒……但我想知道为什么这么慢? 是不是还活着? 同样奇怪的是Firefox显示4个文件同时下载 – 我认为Webrick一次只支持1个连接? (改为使用杂种或“瘦”会使事情变得不同或更好吗?) 也奇怪的是,如果我 ab -n 10 -c 5 http://www.somesite.com:8080 它需要3秒,并且为了测试如何支持keep-alive ,我使用了-k选项: ab -n 10 -c 5 -k http://www.somesite.com:8080 但现在总时间从3秒变为4.5秒。 是不是keep-alive应该让它更快,并且由Webrick支持keep-alive ? 另外,如果它支持并发连接,那么如果某些代码使用类变量来处理事物,那么不会有竞争条件发生吗? (因为类变量内容跨越请求)

在为我的Rails应用运行它之前检查Faye服务器是否存在

关于我在此发现的先前问题: 启动Rails服务器时自动运行Faye服务器 我每次启动Rails时都在运行Faye服务器。 但是,这意味着当我运行Rails服务器,Rails控制台或任何其他Rails相关时,它正在尝试运行Faye服务器。 有没有办法检查Faye服务器是否已经运行? 如果是,不尝试运行新的? 或者这可能不是最好的方法,我欢迎所有的想法和提示。

在Rails中,我应该启用serve_static_assets吗?

我目前正在使用Apache代理瘦(使用这篇文章 ) 我的静态资产都不起作用(例如样式表,javascripts)。 Apache是​​否应该为它们提供服务,还是必须在config/environments/production.rb启用config.serve_static_assets ? 如果Apache应该为他们服务,那么我可能做错了什么? 这是我的Apache配置: ServerName example.com ServerAlias www.example.com DocumentRoot /home/r/public_html/example/public RewriteEngine On BalancerMember http://127.0.0.1:5000 BalancerMember http://127.0.0.1:5001 BalancerMember http://127.0.0.1:5002 # Redirect all non-static requests to thin RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://thinservers%{REQUEST_URI} [P,QSA,L] ProxyPass / balancer://thinservers/ ProxyPassReverse / balancer://thinservers/ ProxyPreserveHost on Order deny,allow Allow from all # Custom log file locations ErrorLog /home/r/public_html/example/log/error.log […]

在Heroku上使用rails sync gem与Faye和Thin在生产模式下

我正在尝试设置’sync’gem以在我的rails应用程序中启用实时更新。 这使用Faye作为实时推送服务,并使用瘦身作为网络服务器。 我对此非常陌生。所以任何建议都表示赞赏。 我在我的本地服务器上工作,但不知道如何让它在heroku的生产模式下工作。 这是我的设置: 在我的gemfile中: gem ‘faye’ gem ‘thin’, require: false gem ‘sync’ 在我的根文件夹中,我有一个sync.ru文件 require “bundler/setup” require “yaml” require “faye” require “sync” Faye::WebSocket.load_adapter ‘thin’ Sync.load_config( File.expand_path(“../config/sync.yml”, __FILE__), ENV[“RAILS_ENV”] || “development” ) run Sync.pubsub_app 在我的config / sync.yml中 # Faye development: server: “http://localhost:9292/faye” adapter_javascript_url: “http://localhost:9292/faye/faye.js” auth_token: DEVELOPMENT_SECRET_TOKEN adapter: “Faye” async: true production: server: “http://my_app_name.com/faye” adapter_javascript_url: “http://localhost:9292/faye/faye.js” […]

机架ssl无法使用Thin

我按照以下说明为Rails 3.07安装了机架ssl: http : //www.simonecarletti.com/blog/2011/05/configuring-rails-3-https-ssl/ 它不起作用。 发出第一个https请求(用于登录页面)并安全地提供页面,但是当您登录时,它会重定向到不安全的http URL。 我正在运行瘦服务器。 它适用于Thin吗? Webrick怎么样? 有任何想法吗? 谢谢。

精简SSL支持和ruby-debug

有没有人知道使用Thin同时运行ruby调试器和SSL的方法? 我一直在使用Rails 3.0.10成功使用Thin。 我使用rails server –debugger启动它,我可以调试我的代码。 最近,我还需要为我的应用程序添加SSL支持,并且我希望能够使用自签名证书在本地测试它。 不幸的是,在使用rails server时,我还没有找到一种方法来启动Thin with SSL支持。 我可以使用以下方法成功启动Thin with SSL支持: thin start –ssl –ssl-verify –ssl-key-file ssllocal/server.key –ssl-cert-file ssllocal/server.crt 但是,我还没有找到使用thin start激活调试器的方法。 所以我似乎可以选择运行调试器( rails server )或SSL( thin start ),但不能同时运行。 通过修改rails / script文件,可以让Webrick使用rails server运行SSL( 参见此处 )。 我尝试了这种方法,但我没有成功。 这是尝试之一: #!/usr/bin/env ruby # This command will automatically be run when you run “rails” with Rails 3 […]

NGINX上的多个Rails应用程序(反向代理)

我的服务器上有两个rails应用程序。 它们中的每一个都在瘦服务器上运行。 我也在使用NGINX。 这是我的NGINX配置文件: server{ location /blog { proxy_pass http://127.0.0.1:8082; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection “upgrade”; } location /website1 { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection “upgrade”; } } “ http:// HOST / blog ”=>我收到404错误(空白页) “ http:// [HOST] / website1 ”=>我的Rails应用程序出现404错误,在我的应用程序日志中得到: INFO — : […]

Puma在哪里登录

我一直在使用Thin运行我的ruby Sinatra应用程序,但我现在转向Puma。 Thin创建了我自己使用的log log/thin.log 。 我注意到Puma没有生成日志文件(不是我能看到的)。 我已经尝试使用谷歌搜索文档,但没有找到任何东西。 我想知道是否/如何在Puma中指定日志路径。 任何帮助将非常感激。 亚历克斯

使用xcode 4.5.1在OSX Lion 10.8.2上编译eventmachine gem

我看到了我能找到的所有地方,但似乎无法找到解决方案。 我在Lion 10.8.2上使用xcode 4.5.1 – 我正在尝试为一个rails项目运行bundle而且它一直在干扰它。 我正在使用gem’瘦’用于heroku。 现在我不得不做 – 没有人找到解决方案? Bolanos@Jeremys-Mac-mini ⦿-1.9.3 fishfarm $ sudo gem install eventmachine Password: Building native extensions. This could take a while… ERROR: Error installing eventmachine: ERROR: Failed to build gem native extension. /Users/Bolanos/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb checking for rb_trap_immediate in ruby.h,rubysig.h… no checking for rb_thread_blocking_region()… yes checking for inotify_init() in sys/inotify.h… […]

如何在Thin控制台窗口中查看调试代码?

在Mongrel中,我们可以看到任何ruby调试代码。 安装后瘦和做thin start 。 我没有在控制台窗口看到任何调试代码。 这是不是很好吗? 我们是否应该在新的控制台窗口中使用tail -f log/development.log来查看调试代码?