我的Ruby on Rails网站正在抛出零星的502错误。 它运行在Nginx上,与Passenger一起安装,托pipe在运行Ubuntu 10.04的服务器上。 看来错误变得越来越稀疏,但是它们仍然造成了一个问题。
我猜测它与缓冲区大小有关,但我不确定。
我知道有同样问题的人还有其他一些问题,但是这似乎很奇特。
在此先感谢您的任何帮助或build议。 我可以给你任何你可能需要的规格或版本号。
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { passenger_root /usr/local/rvm/gems/ruby-1.9.3-p362/gems/passenger-3.0.18; passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.3-p362/ruby; include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; #buffer size proxy_buffers 8 16k; proxy_buffer_size 32k; passenger_buffers 8 16k; passenger_buffer_size 32k; passenger_max_pool_size 200; server { listen 80; server_name thelist.io; rails_env production; root /var/www/thelist.io/public; passenger_enabled on; } server { listen 80; server_name grant.XXXX.com; root /home/jackson/XXXX.XXXXX.com/; location / { index index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one location ~ /\.ht { deny all; } } }
HTTP错误502意味着你的应用程序没有及时回复nginx,所以你可能需要扩展它。
当您使用Rails或其他FastCGI服务器(例如PHP-FPM)时,nginx是前端。
所以,nginx作为一个代理,将数据修复到FastCGI服务器(在你的情况下Rails)。
请确保rails正在使用服务器上的所有内容,如果它不符合您的请求量,则需要扩展(创build更多的应用程序服务器实例并分发Web应用程序的任务)