Jodi wrote:
> I too am seeing this -
> 
> any ideas?

Well the obvious real solution is to examine the HTTP requests which 
cause mongrel to bork and find a way to either prevent the malformed 
requests or fix mongrel to properly understand them.

If you just want to reduce the cpu/io load from the logging, nginx has 
an error_log directive naming the location of the error log and the 
level of logging; something like:

   error_log  /var/log/nginx.error_log  info;

The last token can be [ debug | info | notice | warn | error | crit ], 
try setting it to error or crit and see if that filters out the 
"(70014)End of file found:" errors.

> On Aug 17, 8:48 am, Stanislav Bozhkov <[EMAIL PROTECTED]
> s.net> wrote:
>> Hello,
>>
>> I'm considering to replace our production server Apache with Enginx.
>> Behind them there are a dozen of mongrel_rails instances. Some of the
>> features that I like very much in Nginx are - fair load balancing for
>> proxy upstreams and the posibility to define servers as backup.
>>
>> This is my current configuration:
>> ------
>> http {
>>     include       /etc/nginx/mime.types;
>>     default_type  application/octet-stream;
>>
>>     log_format  main  '$remote_addr - $remote_user [$time_local]
>> $request '
>>                       '"$status" $body_bytes_sent "$http_referer" '
>>                       '"$http_user_agent" "$http_x_forwarded_for"';
>>
>>     access_log  /var/log/nginx/access.log  main;
>>
>>     sendfile        on;
>>     keepalive_timeout  65;
>>
>>     gzip  on;
>>     gzip_min_length  1100;
>>     gzip_buffers     4 8k;
>>     gzip_types       text/html text/plain text/xml text/javascript
>> text/css
>>
>>     charset utf-8;
>>    upstream_fair_shm_size64k;
>>
>>     upstream mongrel {
>>         server    127.0.0.1:8000;
>>         server    127.0.0.1:8001;
>>     }
>>     server { ...
>>     location / {
>>         proxy_set_header    X-Real-IP  $remote_addr;
>>         proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
>>         proxy_set_header    Host $http_host;
>>         proxy_redirect  false;
>>
>>         if (-f $request_filename/index.html) {
>>            rewrite (.*) $1/index.html break;
>>         }
>>         if (-f $request_filename.html) {
>>            rewrite (.*) $1.html break;
>>         }
>>         if (!-f $request_filename) {
>>            proxy_passhttp://mongrel;
>>            break;
>>         }
>>     }
>>     ... }}
>>
>> --------------
>>
>> Everything is perfect and as expected, except handling of errors that
>> come from mongrel. There are a few referring sites that overload the
>> error.log of Nginx with errors like these:
>>
>> -------
>> proxy: Error reading from remote server returned by /some/path 
>> referer:http://somesite.com
>>
>> (70014)End of file found: proxy: error reading status line from remote
>> server localhost, referer:
>> -------
>>
>> For a period of 30min. the error.log reaches ~500MB of those errors.
>>
>> If I access a mongrel_instance directly with the same problematic
>> request I get this from the instance output (not logs):
>> -------
>> Sun Aug 17 12:14:43 +0300 2008: HTTP parse error, malformed request
>> (127.0.0.1): #<Mongrel::HttpParserError: Invalid HTTP format, parsing
>> fails.>
>> -------
>>
>> It's obvious where the problem is with mongrel, however it overloads the
>> whole server with Nginx error logs and CPU load.
>>
>> I got similar problems when using Apache as proxy_balancer, however the
>> rate of logs is far slower, so it doesn't overload the server.
>>
>> Any help or idea will be appreciated. I'm sure that our application
>> deployment isn't so unique, so someone else should have had the same
>> problem.
>> --
>> Posted viahttp://www.ruby-forum.com/.
> > 


-- 
-Devin

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Deploying Rails" group.
To post to this group, send email to rubyonrails-deployment@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-deployment?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to