nginx+vsftpd下载上传服务部署
上篇文章写了《快速登录vsftpd的expect脚本》
https://blog.51cto.com/amunlinux/2426471
本篇讲一下nginx 作为下载服务器,vsftpd作为上传服务器的结合。
yum -y install nginx vsftpd
Nginx 配置文件
几乎都是修改默认的配置
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /etc/nginx/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
use epoll;
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;
types_hash_max_size 2048;
charset utf-8;
server_tokens off;
server_names_hash_bucket_size 128;
client_header_buffer_size 4;
client_header_timeout 60;
client_body_timeout 60;
large_client_header_buffers 16 512k;
client_max_body_size 5g;
gzip on;
gzip_min_length 1024;
gzip_buffers 16 32k;
gzip_proxied any;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript;
limit_conn_zone $binary_remote_addr zone=one:1024m;
#共使用2048M的内存来对于IP传输开销
include /etc/nginx/mime.types;
default_type application/octet-stream;
server { listen 54xxx; server_name 47.97.xx.xx; location / { root /etc/nginx/html/download; if ($request_filename ~* ^.*?\.(sh||shell|py|perl|pl|go|mp3|mp4|jpg|jpeg|bmp|gif|dmg|tar|xls|rpm|pxt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$){ #配置if实现下载而不是直接在浏览器打开 add_header Content-Disposition: 'attachment'; } autoindex on; #开启索引功能 autoindex_exact_size off; #关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb) autoindex_localtime on; #显示本机时间而非 GMT 时间 sendfile on; tcp_nopush on; expires 1h; #allow 192.168.4.0/24; #允许4段的所有地址访问 #allow 192.168.5.0/24; #允许5段的所有地址访问 #deny all; #禁止全部 } error_page 404 /404.html; location = /404.html{ root html; } error_page 500 501 502 503 504 505 /50x.html; location = /50x.html{ root html; } }
}
这里的根位置是:/etc/nginx/html/download, 将和vsftpd 的的local_root是一致的,这样才能保证这边上传,那边就有了
vsftpd:
[root@canal ~]# cat /etc/vsftpd/vsftpd.conf|grep -v '^#'
anonymous_enable=NO
listen_port=54657
pasv_enable=YES
pasv_min_port=0
pasv_max_port=0
pasv_promiscuous=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
local_root=/etc/nginx/html/download
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
过滤后也就是这几行
创建vsftpd的用户
useradd -s /sbin/nologin -d /home/ftpuser ftpuser
passwd ftpuser
密码自定义,但是你要记得住,一会登陆还要用呢
chown -R ftpuser:ftpuser /etc/nginx/html/download
必须要改,不然你ftp客户端是会报错的。我已经踩完坑。。。
/etc/vsftpd/vsftpd start
访问测试:
第一层目录
点击就可以下载
测试FileZilla 上传,看看nginx 这边显示不。
测试下载
这个实验就是这么回事。
不安客户端也可以下载了,具体的简易程度自行参考吧
用处大不,但是有用。
下一篇文件关于《history 的优化和cd到新目录时自动显示新目录名》
- centos中使用 vsftpd 服务,并且配置匿名用户上传和下载文件
- Linux系统服务 6 ---- vsftpd服务的配置文件实现匿名登录上传下载和删除功能
- 使用vsftpd 实现 redhat linux6.0 下的ftp服务匿名上传下载功能
- 在nginx服务部署startbbs
- nginx+tomcat下文件下载服务遇到过大文件无法下载
- centos 下配置ftp服务后 xftp工具无法上传与下载
- 基础架构一:本地yum源与NGINX下载服务
- nginx搭建文件上传下载服务器
- samba服务中,关于读写(也就是下载和上传)权限的优先级
- 微信服务号开发之jssdk-照片上传、下载 总结
- 利用WCF实现上传下载文件服务
- centOS+nginx 搭建SFTP服务实现上传和nginx访问资源
- 对OSS存储服务的初步认识(上传,下载)
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP
- 通过 Nginx 反向代理部署 Node.js 服务
- apache下载、部署、启动服务
- 利用WCF实现上传下载文件服务
- Mac Nginx 配置 Tomcat 配置 jdk环境变量 Nginx部署服务遇到的坑(1)
- vsftpd匿名用户上传和下载的配置
- thinkphp5部署nginx服务上多站点解决方案!