linuxcurlt上传⽂件,curl命令⾏上传⽂件
现在nginx⼤⾏其道,⼀般在机器上装个nginx 简答配置下就可以做upload⽤了。主要需求是开发那边需要运维这边投递⼀些app_log和⼀些history log。下⾯讲解下直接⽤curl命令上传。
第⼀种:
server端有现成的ftpserver:
上传的option是 -T
⽐如我们向ftp传⼀个⽂件: curl -T localfile -u name:passwd ftp://upload_site:port/path/
curl -T hadoop_oom.log -u user:1234567 ftp://1.1.1.1/
第⼆种:
nginx上传: (需要加上--with-http_dav_module模块 )
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_dav_module
make && make install
要创建上传的临时⽬录
mkdir -p /dev/shm/client_body_temp
nginx http段加⼊:
client_body_temp_path /dev/shm/client_body_temp 1 2;
client_max_body_size 1024m; #这个根据实际的情况,如有⼤⽂件upload需要加⼤,不然nginx抛413 error
然后:
server
{
listen 80;
server_name 1.1.1.1;
index index.html index.htm index.php;
root html;
autoindex on;
dav_methods PUT; #这个是重点默认不允许PUT
测试:
curl -T hadoop_oom.log
安全注意事项:
⼀般需要单独location⼀个⽬录单独做upload⽤。或者这个nginx只做upload上传单⼀⽤途。
然后就是nginx allow了,⼀般机房都是内⽹打通的,只允许idc内⽹才能PUT。不然就能任意PUT到你的upload机器了。
nginx停止命令这样写脚本调⽤上传是不是很⽅便呢,哈哈。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论