linux nginx ftp图片,FTP+Nginx图片服务器

1、安装vsftpd组件

安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。

[root@bogon ~]# yum -y install vsftpd

2、创建虚拟用户登录

2.1 创建文本格式的用户名、密码列表

首先需要建立一个文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行中用户名所对应的密码。

例如:添加两个用户jene、john,密码分别为abc123、abc456执行以下的操作:

[root@ling ~]# vi /etc/vsftpd/juser.txt

jene

abc123

john

abc456

2.2 生成数据库:

db_load:安装 db4,db4-devel,db4-utils

# cd //etc/vsftpd //切换到/etc/vsftpd的目录下

# yum -y install db4*

# db_load -T -t hash -f juser.txt juser.db //将刚创建的juser.list列表转换为juser.list.db

file juser.db //查看转换后的文件类型

2.3 修改数据文件访问权限:

chmod 600 /etc/vsftpd/juser.db

2.4 修改pam配置:

vi /etc/pam.d/juser.pam //为虚拟用户创建PAM认证文件,文件名为juser.pam(见名之义)

auth required pam_userdb.so db=/etc/vsftpd/juser

account required pam_userdb.so db=/etc/vsftpd/juser

注意:db=/etc/vsftpd/vsftpd_login 后面的.db必须去掉

2.5 创建虚拟账号对应的系统用户:

# useradd -d /home/ftpuser -s /sbin/nologin ftpuser //添加用户ftpuser,指定到新建的家目录,将虚拟用户对应到这个系统账号上,这个账号无需设置密码及登录Shell

# chmod 755 /home/ftpuser/ //调整权限以允许浏览目录

2.6 修改vsftpd配置文件

vsftpd端口是1335,访问目录为/opt/upload(即为图片路径),被动模式

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=no

local_enable=YES

write_enable=YES

local_umask=022

connect_from_port_20=YES

#ftp_data_port=1334

chroot_local_user=YES

listen=YES

listen_port=1335

#pam_service_name=vsftpd

pam_service_name=juser.pam

tcp_wrappers=YES

local_root=/opt/upload

pasv_enable=yes

pasv_min_port=31000

pasv_max_port=31999

guest_enable=YES

guest_username=ftpuser

user_config_dir=/opt/ftpuser_dir

userlist_enable=YES

2.7 定义jene虚拟用户配置文件,允许jene用户可以上传

#vi /opt/ftpuser_dir/jene

anon_upload_enable=YES

anon_other_write_enable=YES

anon_umask=062 (权限062是创建目录为715,文件为604)

2.8 定义john虚拟用户配置文件,允许john用户可以上传及创建目录

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_umask=062

# service vsftpd restart

3、配置nginx.conf,使其成为图片服务器

# vi /opt/nginx/conf/nginx.conf

user nginx nginx;

worker_processes 1;

pid /opt/nginx/run/nginx/nginx.pid;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"'

'$upstream_addr $upstream_response_time $request_time ';

log_format log404 '$status [$time_local] $remote_addr $host$request_uri $sent_http_location';

access_log logs/nginx/access.log main;

access_log logs/nginx/host.access.404.log log404;

sendfile on;

keepalive_timeout 65;

server {

listen 8010;

server_name localhost;

large_client_header_buffers 4 128k;

client_max_body_size 300m;

client_body_buffer_size 128k;

proxy_connect_timeout 600;

proxy_read_timeout 600;

proxy_send_timeout 600;

proxy_buffer_size 64k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 64k;

location /nginxstatus{

stub_status on;

access_log on;

auth_basic "nginxstatus";

auth_basic_user_file htpasswd;

}

location ~ .*\.(gif|jpg|jpeg|png)$ {

expires 24h;

root /opt/upload;

access_log /opt/nginx/logs/images.log;

proxy_store on;

proxy_store_access user:rw group:rw all:rw;

proxy_temp_path /opt/upload;

proxy_redirect off;

proxy_set_header Host 192.168.8.15;

client_max_body_size 10m;

client_body_buffer_size 1280k;

proxy_connect_timeout 900;

proxy_send_timeout 900;

proxy_read_timeout 900;

proxy_buffer_size 40k;

proxy_buffers 40 320k;

proxy_busy_buffers_size 640k;

proxy_temp_file_write_size 640k;

}

location / {

root html;

index index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

5、图片路径权限

# ll /opt/

total 4

drwxr-xr-x. 3 root root 4096 Jan 31 13:08 upload

也可将upload目录设置属主为nginx用户

# chmod nginx /opt/upload

# ll /opt/

total 4

drwxr-xr-x. 3 nginx root 4096 Jan 31 13:08 upload

upload目录下pthoimanges存放图片目录属主与属组都为虚拟用户映射的本地用户(ftpuser)

#chmod -R ftpuser.ftpuser /opt/upload/pthoimanges

# ll /opt/upload/

total 4

drwxr-xr-x. 6 ftpuser ftpuser 4096 Jan 31 13:09 pthoimanges

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值