萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> nginx安裝文件上傳ngx

nginx安裝文件上傳ngx

   ngx_upload模塊是nginx中一個文件上傳模式了,下面我們來看看nginx安裝文件上傳ngx_upload模塊步驟,希望例子對各位有幫助.

  安裝nginx,並加入nginx upload module和nginx cache purge module:

  mkdir ~/download

  cd ~/download

  wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.tar.gz

  tar zxf nginx_upload_module-2.0.12.tar.gz

  git clone https://github.com/FRiCKLE/ngx_cache_purge.git

  yum groupinstall "Development Tools"

  yum install pcre-devel zlib-devel openssl-devel

  wget http://nginx.org/download/nginx-1.2.3.tar.gz

  tar zxf nginx-1.2.3.tar.gz

  cd nginx-1.2.3

  ./configure --prefix=/usr/local/nginx --with-pcre --with-http_ssl_module --add-module=../nginx_upload_module-2.0.12 --add-module=../ngx_cache_purge

  make && make install

  嘗試啟動:

  /usr/local/nginx/sbin/nginx

  ps aux | grep nginx

  假如我的網站是放在 /home/mysite/www 下的,而nginx配置文件就放在 /home/mysite/etc 下:

  省略了很多內容的配置文件,mysite.conf:

  server {

  listen 80;

  server_name 192.168.1.123;

  client_max_body_size 20M;

  location /upload {

  include /home/mysite/etc/nginx/ngx_upload.conf;

  }

  ....其他的配置....

  location @after_upload {

  proxy_pass http://www_backend;

  }

  }

  將nginx_upload.conf獨立開來,是因為其他網站也可以包含此上傳配置文件:

  nginx_upload.conf:

  upload_pass @after_upload;

  upload_pass_args on;

  upload_cleanup 400 404 499 500-505;

  upload_store /home/mysite/www/uploads/tmp;

  upload_store_access user:r;

  upload_limit_rate 128k;

  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;

  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 "^.*$";

  而最後那個參數:upload_pass_form_field,代表可以將表單的所有參數保持原樣傳遞到後端,需要區分文件保存類型時很有用。

copyright © 萬盛學電腦網 all rights reserved