Articles of ruby在轨道上3

Facebook的应用程序与铁路/乘客独立/ Nginx …错误的urlcallback!

Rails3与乘客和nginx是真棒! 我正在构buildFacebook连接应用程序,我使用omniauth进行身份validation。 我通过在Nginx上使用Passenger来服务我的应用程序。 出于某些原因,我想使用Passenger Standalone来运行应用程序。 它工作正常,当我去/auth/facebook它正常去facebook并请求许可。 但是当它进入callbackurl时,url就是意想不到的! http://xyz.com:12148/auth/facebook/callback 如何弄清楚redirect到一个没有端口号的url..使处理进行得很顺利! Nginxconfiguration upstream xyz_upstream { server unix:/tmp/xyz.socket; } server { listen 80; server_name xyz.com; root /home/deploy/apps/rails3/xyz/public; location / { proxy_pass http://xyz_upstream; proxy_set_header Host $host; } } 应用程序运行良好,但这是我唯一的问题!

我如何重新编译nginx

我正在build立一个新的服务器(我的第一个!)。 我已经安装了Passenger,并使用passenger-install-nginx-module来安装nginx。 我已经设置好了,它一切正常。 然而,我的应用程序是Rails 3.1,因此使用资产pipe道,我不知道我需要有PCRE库 nginx: [emerg] using regex "^/(assets)/" requires PCRE library in /opt/nginx/conf/nginx.conf:89 它需要它,以便nginx.conf中的以下内容正常工作: location ~ ^/(assets)/ { root /path/to/public; gzip_static on; # to serve pre-gzipped version expires max; add_header Cache-Control public; } 我安装了PCRE sudo apt-get install libpcre3 libpcre3-dev 现在我已经添加了这个,我相信有必要重新编译nginx。 我已经看过一些博客文章/ nginx关于如何重新编译它的帮助,但我确实是一个n00b。 有人可以一步一步的指示我吗? 谢谢!

如何使用乘客在Nginx服务器上部署Rails项目?

在我的本地,我使用werbrick应用程序服务器为我的本地主机。 我有Ruby版本1.9.2和Rails版本3.1。 如何在Nginx上实时部署Rails项目? 那么应用服务器(比如带有apache的乘客模块)能用于Rails 3.1应用的Nginx服务器吗?

gzip不能在nginx +乘客中工作

我在Amazon Linux EC2服务器上安装了nginx + passenger,运行Rails应用程序。 该应用程序产生JSON响应。 JSON响应以长度标题呈现: # test_controller.rb # result contains a large 400k JSON string headers["Content-Length"] = result.size.to_s render :json => result 我尝试启用gzip,但响应仍然没有压缩。 我用GIDZipTest检查了它。 # nginx.conf gzip on; gzip_http_version 1.1; gzip_comp_level 1; gzip_proxied any; gzip_vary on; gzip_min_length 500; gzip_types application/x-javascript application/json;

搭build独angular兽,nginx和capistrano的虚拟主机

我已经能够使用nginx,独angular兽和capistrano将我的rials应用程序部署到vps系统中,没有任何错误。 现在,我想部署另一个使用相同的nginxconfiguration(这两个脚本下面)的轨道应用程序在同一vps服务器内,并在运行cap部署后:安装和帽部署:冷build立正确的轨道应用程序发送到服务器。 我得到的问题是这个。 当我键入service nginx restart我得到以下错误 nginx: [emerg] duplicate upstream "unicorn" in /etc/nginx/sites-enabled/cf:1 nginx: configuration file /etc/nginx/nginx.conf test failed 我正在运行的第一个应用程序的nginx脚本是 upstream unicorn { server unix:/tmp/unicorn.cf.sock fail_timeout=0; } server { listen 80 default deferred; server_name cfmagazineonline.com; root /home/deployer/apps/cf/current/public; location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @unicorn; location @unicorn […]

Passenger + Nginx显示自定义500页面

我使用的是乘客+ nginx的Rails 3.2。 当数据库服务器closures时,我想显示很好的自定义页面。 当我的rails应用程序无法启动时,我想显示一些内容。 这是我的nginx: server { listen 80; server_name localhost; root /var/www/store/public; error_page 500 /500.html; # root location / { passenger_enabled on; rails_env production; passenger_use_global_queue on; } } 上述configuration完全不起作用。 当它发生时,它只显示: 内部服务器错误(500) 任何想法?

从rails 3.2 / nginx / phusion passanger响应头中缺lessE-tags

我有一个非常简单的电子标签控制器: class EtagsController < ApplicationController before_filter :require_user def index if stale?(:etag => current_user) render :layout => false end end end 当我在我的本地开发环境中运行这个时,第一个请求是响应中带有ETag的200。 第二个请求提交ETag,我得到了预期的304响应。 但是,当在分段或生产环境中执行此操作时,响应中不会有ETag。 以下是来自我的临时环境的请求和响应标题: Request URL: /etags Request Method:GET Status Code:200 OK Request Headers Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Cookie:__utma=169165539.1455374302.1372358226.1372358226.1372358226.1; __utmb=169165539.1.10.1372358226; __utmc=169165539; __utmz=169165539.1372358226.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); user_credentials=4ffa15df84112d22434f121eed06c59a5c32cb9ab72cf6bf1e952a3993201b5dec2917a028d20d4b63c70a84c6a290c4d5c4673ce967efec6f139c161850bc37%3A%3A101; _session_id=d21671b70349653406442ee0716633b2 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like […]

caching:在生产中的nginx独angular兽小姐

我得到一个cache: [GET /] miss错误消息为我的Rails 3.2应用程序。 我使用nginx作为独angular兽服务器的代理,并使用capistrano进行部署。 当我启动服务器时,我收到了很多像上面那样的重复错误。 Capistrano绝对会在部署期间预编译资产。 我包括下面的configuration文件(对于冗长的抱歉)。 任何想法或至less有什么错误的提示? application.rb中 config.assets.enabled = true production.rb # Disable Rails's static asset server # (Apache or nginx SHOULD already do this BUT THEY DON'T) config.serve_static_assets = true # Don't fallback to assets pipeline if a precompiled asset is missed # If I disable this I don't get […]

在Passenger / Nginx服务器中隐藏标题

我试图隐藏生产服务器的这个头,但没有成功: X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.7 X-Runtime: 0.021429 Server: nginx/1.0.0 + Phusion Passenger 3.0.7 (mod_rails/mod_rack) 使用: – Rails 3.0.9 – Passenger 3.0.7 – Nginx 1.0.0 有任何想法吗 ?

在Linode上托pipeRails应用程序

我打算在Linode上托pipe一个Rails应用程序,但我仍然不确定部署的要求和过程。 我只是得到了512计划,因为我预计网站会有相对较小的stream量。 我的问题是,我需要得到一个存储库,如Github来存储我的代码? 我也有点担心设置服务器和部署过程需要多长时间。 我已经浏览了Linode库,但是我不完全清楚如何部署Rails应用程序。 我打算使用nginx作为我的服务器和乘客进行部署。 有谁知道在哪里可以学习在Linode机器上部署Rails应用程序? 详细的解释一步一步的教程将是伟大的。 谢谢!