Good Morning, I have a galaxy instance at our institution, and we are trying to make the file upload with nginx work. It appears that when I do a file download, it is getting handled by nginx (running top I see an nginx process appear, do work and disappear when the file is done downloading). However, when I try to do an upload, I see additional python processes appear in top, and I see the upload.py script go by in my runner0.log file, but I don't see an nginx process appear in top. Also, when I go to run several large uploads in a row, and then attempt to run some other job (like a sort) it blocks while waiting for the files to upload. This leads me to believe the upload is running in galaxy, not nginx. I am also running "watch ls -ltr upload_store" from galaxy-dist/database/tmp while the upload is occurring and I never see anything written to the upload temp directory. We are running galaxy on a 4 cpu server, which is running SUSE Linux Enterprise Server 11 (x86_64) for an os. I have galaxy configured to run 3 webapps, and 1 job runner. We have nginx installed and built with the nginx_upload_module (detail below) jaxgalaxydev01:~ # /usr/local/nginx/sbin/nginx -V nginx version: nginx/0.8.53 built by gcc 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux) configure arguments: --prefix=/usr/local/nginx-0.8.53 --add-module=/usr/local/src/nginx_upload_module-2.2.0 In both my universe_wsgi.webapp.ini and universe_wsgi.runner.ini I have the following lines defined in my [app:main] section: # Directive for using nginx to do file downloads nginx_x_accel_redirect_base = /_x_accel_redirect # Directives to allow nginx to deal with file uploads nginx_upload_store = database/tmp/upload_store nginx_upload_path = /_upload Below is the entire contents of my nginx.conf file: worker_processes 1; events { worker_connections 1024; } user galaxy; http { include mime.types; default_type application/octet-stream; # Added for compression and caching. According to Galaxy wiki page: # http://bitbucket.org/galaxy/galaxy-central/wiki/Config/nginxProxy # This will decrease downlod and page load times for clients gzip on; gzip_http_version 1.1; gzip_vary on; gzip_comp_level 4; gzip_proxied any; gzip_types text/plain text/css application/x-javascript text/xml application/xml text/javascript application/json; gzip_buffers 16 8k; gzip_disable "MSIE [1-6].(?!.*SV1)"; sendfile on; keepalive_timeout 65; # Added to support proxying to galaxy server upstream galaxy_app { server localhost:8080; server localhost:8081; server localhost:8082; } server { listen 80; server_name localhost; # Line added for galaxy support client_max_body_size 10G; # Added to allow nginx to handle file uploads location /_upload { upload_store /galaxydata/galaxy-setup/galaxy-dist/database/tmp/upload_store; upload_pass_form_field ""; upload_set_form_field "__${upload_field_name}__is_composite" "true"; upload_set_form_field "__${upload_field_name}__keys" "name path"; upload_set_form_field "${upload_field_name}_name" "$upload_file_name"; upload_set_form_field "${upload_field_name}_path" "$upload_tmp_path"; upload_pass_args on; upload_pass /_upload_done; } location /_upload_done { set $dst /tool_runner/index; if ($args ~ nginx_redir=([^&]+)) { set $dst $1; } rewrite "" $dst; } # added to allow nginx to handle file downloads location /_x_accel_redirect/ { internal; alias /; } # The following series of "locations" are for off-loading static # content from the galaxy server. location /static { alias /galaxydata/galaxy-setup/galaxy-dist/static; # This will decrease downlod and page load times for clients expires 24h; } location /static/style { alias /galaxydata/galaxy-setup/galaxy-dist/static/june_2007_style/blue; } location /static/scripts { alias /galaxydata/galaxy-setup/galaxy-dist/static/scripts/packed; # This will decrease downlod and page load times for clients expires 24h; } location /favicon.ico { alias /galaxydata/galaxy-setup/galaxy-dist/static/favicon.ico; } location /robots.txt { alias /galaxydata/galaxy-setup/galaxy-dist/static/robots.txt; } # End of static content location / { proxy_pass http://galaxy_app; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } I have restarted both my galaxy server and my nginx server to confirm that the configurations above have been picked up. I would be interested in: 1) any other suggestions to confirm where the upload is occurring (assuming I'm mistaken about it running in galaxy). 2) any insight as to how I might have my server(s) misconfigured, in order to get upload working in nginx. Any assistance or suggestions you could provide would be greatly appreciated. Thanks, Dave