nginx-file-process(https://github.com/anyangdp/nginx-file-process)
nginx文件處理demo(服務器系統(tǒng)cenos 7.4)
安裝要求
1.nginx版本:1.14.0
2.nginx upload module安裝 (nginx必須編譯安裝,不可以yum安裝)
3.安裝方法百度自行搜索,安裝包可以在git倉庫中下載(此包,我添加了上傳模塊,路徑:nginx-1.14.0/home)
nginx文件上傳設置(nginx.conf)
#文件下載
location /maifeng {
alias /nas1/file/maifeng/;
#關閉目錄結(jié)構(gòu)(視情況是否打開)
autoindex off;
}
#文件上傳
location /upload {
client_max_body_size 50m;
# 轉(zhuǎn)到后臺處理URL
upload_pass @maifeng;
# 臨時保存路徑 (暫時保存此處,使用回調(diào)處理,將臨時文件變成真實有效文件)
# # 可以使用散列
upload_store /tmp/nginx-upload;
upload_pass_args on;
# 上傳文件的權(quán)限,rw表示讀寫 r只讀
upload_store_access user:rw;
# 這里寫入http報頭,pass到后臺頁面后能獲取這里set的報頭字段
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模塊自動生成的一些信息,如文件大小與文件md5值
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$";
upload_pass_form_field "^.*$";
# 每秒字節(jié)速度控制,0表示不受控制,默認0
upload_limit_rate 0;
# 如果pass頁面是以下狀態(tài)碼,就刪除此次上傳的臨時文件
upload_cleanup 400 404 499 500-505;
}
# proxy_pass 不支持uri添加/(可以使用alias),下面配置等同于訪問:http://localhost:7992/maifeng
location @maifeng {
rewrite ^ /maifeng$1 break;
proxy_pass http://localhost:7992;
}
回調(diào)處理項目部署(這里使用了java,網(wǎng)上有使用lua等等,經(jīng)過我的測試,并不是特別好用,環(huán)境配置很麻煩,因為我的服務器已有jre,所以我就直接jar方式部署)
1.maven 打包(會生成兩個包,有boot的那個支持jar方式運行部署)
2.nohup java -jar demo.jar > demp.txt 2>&1 & (jar方式部署命令,容器部署自行解決)