Люди!<br>хелп...<br>уже два дня мучаюсь пытабсь соеденить nginx и RubyOnRails через FastCGI.<br>использую вариант, как с lighttpd, только запускаю nginx. Тут в рассылке где-то пробегала конфигурация, ее я тоже смотрел.<br>
<br>Так вот, использую что сокеты, что порты все одно - с nginx не запускается. А точнее всегда выдает 404 ошибку. На том же сокете lighttpd выдает все нормально.<br>Такое ощущение, что nginx неправильно передает пути, или DOCUMENT_ROOT не передает.
<br><br>Вот что выдает руби:<br>ActionController::RoutingError (Recognition failed for "/index.html" req.path=/index.html):<br> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/routing.rb:523:in `recognition_failed'
<br> /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/routing.rb:513:in `recognize!'<br> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in `dispatch'<br> /usr/local/lib/ruby/gems/1.8/gems/rails-
1.1.6/lib/fcgi_handler.rb:150:in `process_request'<br> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:54:in `process!'<br> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:612:in `each_cgi'<br>
/usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:609:in `each'<br> /usr/local/lib/ruby/site_ruby/1.8/fcgi.rb:609:in `each_cgi'<br> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:53:in `process!'
<br> /usr/local/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:23:in `process!'<br> /srv/rb/public/dispatch.fcgi:27<br><br>Rendering /usr/local/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/templates/rescues/layout.rhtml (404 Page Not Found)
<br><br><br>А вот конфиг нгинкса:<br><br>server {<br> listen 80;<br> server_name <a href="http://rb.com">rb.com</a>;<br> root /srv/rb/public/;<br> location / {<br> include conf/fastcgi.conf;
<br> fastcgi_pass unix:/srv/rb/tmp/sockets/fcgi.socket-0;<br> fastcgi_index index.html;<br> root /srv/rb/public;<br> access_log /logs/rb.log;<br> fastcgi_param SCRIPT_FILENAME /srv/rb/public$fastcgi_script_name;
<br> fastcgi_param PATH_TRANSLATED /srv/rb/public$fastcgi_script_name;<br> fastcgi_param SCRIPT_NAME $fastcgi_script_name;<br> fastcgi_param REDIRECT_STATUS 200;<br> fastcgi_param DOCUMENT_ROOT /srv/rb/public;
<br> fastcgi_pass_header Authorization;<br> fastcgi_intercept_errors off;<br><br> fastcgi_param PATH_INFO $fastcgi_script_name;<br> fastcgi_param REQUEST_METHOD $request_method;
<br> fastcgi_param QUERY_STRING $query_string;<br> fastcgi_param CONTENT_TYPE $content_type;<br> fastcgi_param CONTENT_LENGTH $content_length;<br> fastcgi_param SERVER_PORT $server_port;
<br> fastcgi_param SERVER_PROTOCOL $server_protocol;<br> fastcgi_param SERVER_NAME $server_name;<br><br> fastcgi_param REQUEST_URI $request_uri;<br> fastcgi_param DOCUMENT_URI $document_uri;
<br> fastcgi_param DOCUMENT_ROOT $document_root;<br> fastcgi_param SERVER_ADDR $server_addr;<br> fastcgi_param REMOTE_USER $remote_user;<br> fastcgi_param REMOTE_ADDR $remote_addr;
<br> fastcgi_param REMOTE_PORT $remote_port;<br> fastcgi_param SERVER_SOFTWARE "nginx";<br> fastcgi_param GATEWAY_INTERFACE "CGI/1.1";<br> }<br>
}<br><br><br>У lighttpd в конфиге тоже все просто:<br><br>server.bind = "xx.xx.xx.xx"<br>server.port = 8899<br><br>server.modules = ( "mod_rewrite", "mod_accesslog", "mod_fastcgi", "mod_compress", "mod_expire" )
<br><br>server.error-handler-404 = "/dispatch.fcgi"<br>server.document-root = CWD + "/public/"<br><br>server.errorlog = CWD + "/log/lighttpd.error.log"<br>accesslog.filename = CWD + "/log/lighttpd.access.log"
<br><br>url.rewrite = ( "^/$" => "index.html", "^([^.]+)$" => "$1.html" )<br><br>compress.filetype = ( "text/plain", "text/html", "text/css", "text/javascript" )
<br>compress.cache-dir = CWD + "/tmp/cache"<br><br>fastcgi.server = ( ".fcgi" => ( "localhost" => (<br> "min-procs" => 1,<br> "max-procs" => 1,
<br> "socket" => CWD + "/tmp/sockets/fcgi.socket",<br> "bin-path" => CWD + "/public/dispatch.fcgi",<br> "bin-environment" => ( "RAILS_ENV" => "development" )
<br>) ) )<br><br>