Articles of ruby on rails

Ruby on Rails(Redmine)在Apache – 503错误

我正在运行一个名为Redmine的Ruby on Rails应用程序。 它一直在正常工作,但今天它给了503服务暂时不可用的错误。 (最初是由一个现在不在的员工build立的) 我检查错误日志,它说: [Mon Nov 21 11:03:30 2011] [error] (111)Connection refused: proxy: HTTP: attempt to connect to 127.0.0.1:3000 (127.0.0.1) failed [Mon Nov 21 11:03:30 2011] [error] ap_proxy_connect_backend disabling worker for (127.0.0.1) 这是我的Apacheconfiguration的一大块 <VirtualHost *:80> ServerName redmine.{domain}.com RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://redminecluster%{REQUEST_URI} [P,QSA,L] </VirtualHost> <Proxy balancer://redminecluster> BalancerMember http://127.0.0.1:3000 </Proxy> 我发现这个链接: http : […]

Nginx的SSL重写规则

我想redirect只有某些请求使用SSL而不是我的整个网站,但我不知道如何逃避这个redirect循环。 这里是我的服务器块,我尝试使用位置块redirectstream量: server { listen 80; server_name example.com; rewrite ^ http://www.example.com$request_uri? permanent; } server { listen 80; listen 443 ssl; ssl_certificate /srv/ssl/sslchain.crt; ssl_certificate_key /srv/ssl/example.com.key; server_name www.example.com; location / { root /usr/local/bin/rails/example/public; index index.html index.htm; passenger_enabled on; } location /users/sign_up { rewrite ^ https://www.example.com/users/sign_up break; } location /users/sign_in { rewrite ^ https://www.example.com/users/sign_in break; } if ($host […]

超时在我们的堆栈(haproxy,nginx,rails,memcached)

在几乎没有任何负载的情况下(可能有几个人每分钟触碰一次服务器),我们有一些超时令我疯狂。 我们使用nginx将非SSLredirect到SSL,终止SSL,然后将请求反向代理到haproxy,将其发送到我们的应用服务器之一。 我们的应用程序服务器运行乘客(导轨)+ nginx。 我们有一个mysql master + slave和一个memcached实例,我们最近开始使用它来进行一些查询。 这是我在nginx错误日志的第一层看到的一个典型错误,它将请求传递给haproxy(详细信息模糊处理): 2012/02/25 06:42:15 [error] 7838#0:* 60797上游超时(110:连接超时),从上游读取响应头时,client:1.2.3.4,server:domain.com,request: “GET / api / v1 / some_route HTTP / 1.1”,上游:“ http://127.0.0.1:82/api/v1/some_route ”,主机:“domain.com” 我不确定它是haproxy,乘客+ nginx,rails,memcached。 一个经验数据表明,它们似乎是一堆发生的,也就是说,如果我们有一个超时,我们看到其他几个,那么它们就会消失。 任何帮助将不胜感激。 很高兴发布任何configuration或任何有用的信息。

Ruby on Rails / Passenger with Apache2 – build立子域

我正在尝试configurationApache2和mod_passenger,以便我可以在服务器example.com/另一个站点以及example.com/另一个完全不同的rails实例。 我的<VirtualHost>上下文看起来像这样到目前为止: <VirtualHost *:80> # Name ServerName server.biz DocumentRoot /var/rails/current/public <Directory /var/rails/current/public> AllowOverride all Options -MultiViews </Directory> # Logfile ErrorLog /var/log/apache2/server.biz.error.log CustomLog /var/log/apache2/server.biz.access.log combined </VirtualHost> 如果任何人有任何想法,我怎么能做到这一点,甚至完全不同的方法来做到这一点,将不胜感激。

如何阻止IIS发送精细的GET请求到我的代理杂种服务器?

我有一个在运行IIS7.5的Windows Server 2008上运行的Rails应用程序。 我正在使用应用程序请求路由通过IIS发送请求到Mongrel服务器(我不想这样设置,但这是我被迫使用的环境)。 IIS似乎每分钟都向Mongrel服务器发送一次GET请求。 这并不是什么大问题,但是这会对我的日志造成很大的污染,同时也会产生大量不需要的会话数据。 我真的想停止这样做。 有没有办法?

乘客错误:没有这样的文件或目录 – config / environment.rb

根据此安装说明,我在MacOSX Server 10.6.8上安装了Redmine 。 到目前为止,一切工作正常:当我开始webrick服务器服务的Redmine页面。 gem和ruby被安装在用户“redmine”之下。 之后,我的目标是configurationapache2与乘客,如这里所述。 正如描述中所build议的,我还安装了将其虚拟主机configuration文件存储在/private/etc/apache2/passenger_pane_vhosts的乘客窗格 。 这是我经过大量的手工尝试和错误后想出来的。 至less,现在我可以到达一个乘客错误页面。 // redmine.vhost.conf <VirtualHost *:80> ServerName myserver ServerAlias localhost DocumentRoot "/Users/redmine/Sites/redmine" # RackEnv production # RackBaseURI / RailsEnv production RailsBaseURI / # PassengerUser www-data # PassengerGroup www-data <Directory "/Users/redmine/Sites/redmine"> Order allow,deny Allow from all </Directory> </VirtualHost> 然而,乘客模块仍然遇到以下错误。 Error message: No such file or directory – […]

在轨道上安装ruby

我成功地使用了本教程: http : //techbot.me/2010/08/deployment-recipes-deploying-monitoring-and-securing-your-rails-application-to-a-clean-ubuntu-10-04-install-使用nginx和独angular兽/我们的ruby on rails服务器上。 但我不知道这个安装是否安全。 让我感到困扰的是同一个用户“部署者”,谁是一个sudoer,正在运行这个应用程序。 这是否会打开通过某种forms的代码注入攻击者获得完全访问系统的可能性(与apache进程运行的普通apache安装相反,如www-data)?

Nginx +独angular兽子域虚拟主机失效(超时)

我在VPS上设置了一个服务器,通过Nginx + Unicorn为生产Rails应用程序提供服务。 目前这个工作正常与以下conf文件: nginx.conf unicorn.conf 但是, staging.appname.tld添加的子域最终会在/var/log/nginx/error.log产生以下错误: 2012/08/20 16:57:39 [error] 24673#0: *174 upstream timed out (110: Connection timed out) while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: staging.appname.com, request: "GET / HTTP/1.1", upstream: "http://unix:/tmp/unicorn.appname_staging.sock:/", host: "staging.appname.com" 2012/08/20 16:58:17 [error] 24673#0: *178 upstream timed out (110: Connection timed out) while reading response header from […]

由于Haproxy我没有得到客户端的IP地址

我正在使用Haproxy进行负载平衡。 我的网站运行在轨道上的ruby。 我做了一些谷歌search,并知道要添加此行 option forwardfor header X-Client 在/etc/haproxy.cfg文件中。 在我使用的rails应用程序中 request.env["HTTP_X_FORWARDED_FOR"] 但是这给我我的主应用程序IP 帮我取得客户的IP地址。

什么时候应该使用乘客,独angular兽和机架?

关于木偶常常提到乘客 , 独angular兽和机架 ,但我无法弄清楚它们的目的是什么。 Passenger的网站说: Phusion Passenger是Ruby(Rack)和Python(WSGI)应用程序的Web服务器和应用程序服务器。 它使您能够以最less的麻烦运行您的Web应用程序,在pipe理您的应用程序的stream程和资源时,为您处理所有繁重的工作。 但是,为什么我要引入一个新的软件,当Ruby有自己的Web服务器? 任何人都可以举个例子解决这些问题吗?