From: Erik Andersen Date: 2006-01-25T00:46:58+09:00 Subject: Config file for Lighttpd for win 2003 server Hi All I am having difficulties setting up the lighttpd.conf file for running Ruby on Rails on my windows 2003 server. I have actually managed to get it up and running by trial and error, but it is very slow. Not fully understanding the lighttpd.conf file I suspect that maybe it is not running fastcgi, but only cgi since I have heard that this would be slow. Maybe it it is not necessary to include the mod_cgi at all ? My lighttpd.con file i pasted below. Any ideas are most welcome. lighttpd.conf ---- # lighttpd configuration file # # use a it as base for lighttpd 1.0.0 and above # # $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $ ############ Options you really have to take care of #################### ## modules to load # at least mod_access and mod_accesslog should be loaded # all other module should only be loaded if really neccesary # - saves some time # - saves memory server.modules = ( "mod_rewrite", "mod_redirect", # "mod_alias", "mod_access", # "mod_cml", # "mod_trigger_b4_dl", # "mod_auth", # "mod_status", # "mod_setenv", "mod_fastcgi", # "mod_proxy", # "mod_simple_vhost", # "mod_evhost", # "mod_userdir", "mod_cgi", # "mod_compress", # "mod_ssi", # "mod_usertrack", # "mod_expire", # "mod_secdownload", # "mod_rrdtool", "mod_accesslog" ) server.document-root = "E:/apache2triad/htdocs/appname/public" ## where to send error-messages to server.errorlog = "C:/lighttpd/logs/lighttpd.error.log" # files to check for if .../ is requested server.indexfiles = ( "index.php", "index.html", "dispatch.fcgi" ) server.error-handler-404 = "/dispatch.fcgi" # mimetype mapping mimetype.assign = ( ".pdf" => "application/pdf", ".sig" => "application/pgp-signature", ".spl" => "application/futuresplash", ".class" => "application/octet-stream", ".ps" => "application/postscript", ".torrent" => "application/x-bittorrent", ".dvi" => "application/x-dvi", ".gz" => "application/x-gzip", ".pac" => "application/x-ns-proxy-autoconfig", ".swf" => "application/x-shockwave-flash", ".tar.gz" => "application/x-tgz", ".tgz" => "application/x-tgz", ".tar" => "application/x-tar", ".zip" => "application/zip", ".mp3" => "audio/mpeg", ".m3u" => "audio/x-mpegurl", ".wma" => "audio/x-ms-wma", ".wax" => "audio/x-ms-wax", ".ogg" => "application/ogg", ".wav" => "audio/x-wav", ".gif" => "image/gif", ".jpg" => "image/jpeg", ".jpeg" => "image/jpeg", ".png" => "image/png", ".xbm" => "image/x-xbitmap", ".xpm" => "image/x-xpixmap", ".xwd" => "image/x-xwindowdump", ".css" => "text/css", ".html" => "text/html", ".htm" => "text/html", ".js" => "text/javascript", ".asc" => "text/plain", ".c" => "text/plain", ".cpp" => "text/plain", ".log" => "text/plain", ".conf" => "text/plain", ".text" => "text/plain", ".txt" => "text/plain", ".dtd" => "text/xml", ".xml" => "text/xml", ".mpeg" => "video/mpeg", ".mpg" => "video/mpeg", ".mov" => "video/quicktime", ".qt" => "video/quicktime", ".avi" => "video/x-msvideo", ".asf" => "video/x-ms-asf", ".asx" => "video/x-ms-asf", ".wmv" => "video/x-ms-wmv", ".bz2" => "application/x-bzip", ".tbz" => "application/x-bzip-compressed-tar", ".tar.bz2" => "application/x-bzip-compressed-tar" ) #### accesslog module accesslog.filename = "C:/lighttpd/logs/access.log" ## deny access the file-extensions # # ~ is for backupfiles from vi, emacs, joe, ... # .inc is often used for code includes which should in general not be part # of the document-root url.access-deny = ( "~", ".inc" ) $HTTP["url"] =~ "\.pdf$" { server.range-requests = "disable" } ######### Options that are good to be but not neccesary to be changed ####### ## bind to port (default: 80) server.port = 81 ## bind to localhost (default: all interfaces) #server.bind = "grisu.home.kneschke.de" ## error-handler for status 404 #server.error-handler-404 = "/error-handler.html" #server.error-handler-404 = "/error-handler.php" ## to help the rc.scripts #server.pid-file = "/var/run/lighttpd.pid" ## enable debugging #debug.log-request-header = "enable" #debug.log-response-header = "enable" #debug.log-request-handling = "enable" #debug.log-file-not-found = "enable" # You need to let Ruby handle .rb, .cgi and .fcgi files cgi.assign = ( ".rb" => "E:/ruby/bin/rubyw.exe", ".fcgi" => "E:/ruby/bin/rubyw.exe", ".cgi" => "E:/ruby/bin/rubyw.exe") # 5 .fcgi spawns seem to work fine for a reasonable load fastcgi.server = ( ".fcgi" => ( "appname" => ( "min-procs" => 1, "max-procs" => 2, "socket" => "E:/apache2triad/htdocs/appname/public/tmp/ruby-railsapp.fastcgi", "bin-path" => "E:/apache2triad/htdocs/appname/public/dispatch.fcgi", "bin-environment" => ("RAILS_ENV" => "development") ) ) )