前言
有时候我们想简单实现文件上传的功能,又不想使用额外的语言(比如PHP、Java),或者想实现文件的断点续传。这个时候Nginx的一个模块nginx-upload-module就能满足我们的需求。
模块安装
下载模块:
cd /tmp
wget https://codeload.github.com/vkholodkov/nginx-upload-module/zip/2.2
unzip 2.2
安装模块:
.configure --add-module=/tmp/nginx-upload-module-2.2/
multipart/form-data表单上传示例
nginx.conf配置:
server {
[...]
location /upload {
upload_pass @uploadHandler;
upload_store /usr/local/nginx/upload_temp 1;
upload_set_form_field $upload_field_name.path "$upload_tmp_path";
}
location @uploadHandler {
proxy_pass http://backend-host;
}
[...]
}
这里在server里定义了upload location,这个location是上传的接口,还有@uploadHandler location,是当文件上传完成后,nginx模块会对这个location发