Re: upload module не могу разобратся

Valery Kholodkov valery+nginxru на grid.net.ru
Вс Дек 19 15:07:23 MSK 2010


В этой конфигурации нужно заменить проксирование на передачу запроса 
через fastcgi, после чего нужно сделать так, чтобы какой-нибудь скрипт 
обработал запрос, переписанный upload-модулем (пример скрипта есть в 
исходниках).

Ein пишет:
> Дано nginx 0.8.54 + nginx-upload-module 2.20
> На сервере отсутсвует apach
> Не могу разобратся, почему не работает загрузка файлов на сервер и как
> надо подправить конфиг, что бы заработало.
> 
> В данный момент после загрузки, на сервере появляется файл 0000002,
> происходит aborted и редирект на
> http://convert-test.univertv.ru/upload и пишет 502 Bad Gateway.
> 
> Все примеры брал с https://github.com/vkholodkov/nginx-upload-module/blob/2.2/
> 
> конфиг:
> 
> server {
>             listen 95.211.21.179:80;
> 
>             server_name convert-test.univertv.ru;
>             client_max_body_size 100m;
> 
> 
>             location / {
>             root /www/convert-test.univertv.ru;
>             index index.php index.html index.htm;
>             }
> 
> 
>             location ~ "\.(jpg|gif|png|css|js|flv)$"
>             {
>             root /www/convert.univertv.ru;
>             }
> 
>             location ~ \.php$ {
>             root /www/convert-test.univertv.ru;
>             include /etc/nginx/fastcgi_params;
>             fastcgi_pass  127.0.0.1:9000;
>             fastcgi_index index.php;
>             fastcgi_param SCRIPT_FILENAME
> /www/convert-test.univertv.ru$fastcgi_script_name;
>             include /etc/nginx/fastcgi_params;
>             }
> 
>             location ~ \.pl$ {
>             root /www/convert-test.univertv.ru;
>             gzip off;
>             include /etc/nginx/fastcgi_params;
>             fastcgi_pass  127.0.0.1:8999;
>             fastcgi_index index.pl;
>             fastcgi_param  SCRIPT_FILENAME
> /www/convert-test.univertv.ru$fastcgi_script_name;
>             }
> 
> 
>             location ~ ^/cgi-bin/.*\.cgi$ {
>             fastcgi_pass  127.0.0.1:8999;
>             fastcgi_index index.cgi;
>             fastcgi_param SCRIPT_FILENAME
> /www/convert-test.univertv.ru$fastcgi_script_name;
>             fastcgi_param QUERY_STRING     $query_string;
>             fastcgi_param REQUEST_METHOD   $request_method;
>             fastcgi_param CONTENT_TYPE     $content_type;
>             fastcgi_param CONTENT_LENGTH   $content_length;
>             fastcgi_param GATEWAY_INTERFACE  CGI/1.1;
>             fastcgi_param SERVER_SOFTWARE    nginx;
>             fastcgi_param SCRIPT_NAME        $fastcgi_script_name;
>             fastcgi_param REQUEST_URI        $request_uri;
>             fastcgi_param DOCUMENT_URI       $document_uri;
>             fastcgi_param DOCUMENT_ROOT      $document_root;
>             fastcgi_param SERVER_PROTOCOL    $server_protocol;
>             fastcgi_param REMOTE_ADDR        $remote_addr;
>             fastcgi_param REMOTE_PORT        $remote_port;
>             fastcgi_param SERVER_ADDR        $server_addr;
>             fastcgi_param SERVER_PORT        $server_port;
>             fastcgi_param SERVER_NAME        $server_name;
>             }
> 
> 
>     # Upload form should be submitted to this location
> 
>         location /upload {
>             # Pass altered request body to this location
>             upload_pass /test;
> 
>             # Store files to this directory
>             # The directory is hashed, subdirectories 0 1 2 3 4 5 6 7
> 8 9 should exist
>             upload_store /media/video/test-convert/uploads;
> 
>             # Allow uploaded files to be read only by user
>             upload_store_access user:r;
> 
>             # Set specified fields in request body
>             upload_set_form_field "${upload_field_name}_name" $upload_file_name;
>             upload_set_form_field "${upload_field_name}_content_type"
> $upload_content_type;
>             upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;
> 
>             # Inform backend about hash and size of a file
>             upload_aggregate_form_field "${upload_field_name}_md5"
> $upload_file_md5;
>             upload_aggregate_form_field "${upload_field_name}_size"
> $upload_file_size;
> 
>             upload_pass_form_field "^submit$|^description$";
>         }
> 
>         # Pass altered request body to a backend
>         location /test {
>             proxy_pass http://localhost:8080;
>         }
> }

-- 
Best regards,
Valery Kholodkov



Подробная информация о списке рассылки nginx-ru