图片服务器的实现nginx+vsftpd

来源:互联网 发布:2017最新网络诈骗 编辑:程序博客网 时间:2024/06/05 07:30

1.搭建vsftpd

yum -y install vsftpd

添加用户ftpuser

useradd ftpuser

添加密码
passwd ftpuser
输入两次密码
修改selinus
执行以下命令查看状态:

getsebool -a | grep ftp 
allow_ftpd_anon_write --> offallow_ftpd_full_access --> offallow_ftpd_use_cifs --> offallow_ftpd_use_nfs --> offftp_home_dir --> offftpd_connect_db --> offftpd_use_passive_mode --> offhttpd_enable_ftp_server --> offtftp_anon_write --> off

执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问

setsebool -P allow_ftpd_full_access onsetsebool -P ftp_home_dir on

注意:ftp客户端工具用主动模式
启动ftp服务
service vsftpd start
重启ftp服务:
service vsftpd restart
修改vsftpd的配置文件/etc/vsftpd/vsftpd.conf

anonymous_enable=NOlocal_enable=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESchroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listlisten=YESpam_service_name=vsftpdroot_local_user=YESchroot_list_enable=YES

创建chroot_list 添加登陆用户的名字
设置开机自启chkconfig vsftpd on
2.nginx搭建
安装gcc PCRE zlib  openssl

yum install gcc-c++ yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-devel

解压nginx到指定文件夹
进入解压目录 cd nginx-1.8.0

./configure --prefix=/usr/local/nginx

编译安装make&&make install
启动 cd /usr/local/nginx
/usr/local/nginx/sbin/nginx 启动 (-s stop)关闭 (-s reload)重启
查看状态: ps -ef|grep nginx


修改nginx.conf 配置文件

         location / {            root /home/ftpuser/img/;            access_log /home/ftpuser/img/image.log;            index index.html index.htm;         }

更改nginx默认目录后访问出现访问失败的情况 –403错误
解决办法:在配置文件的开头的注释部分改为

user  ftpuser;

3.java代码测试

    @Test    public void test() throws Exception {        FTPClient client = new FTPClient();        client.connect("192.168.132.147",21);        client.login("ftpuser", "dddd");        FileInputStream inputStream = new  FileInputStream(new File("C:\\Users\\dsd\\Desktop\\5.jpg"));        //修改文件上传的格式 二进制格式        client.setFileType(FTP.BINARY_FILE_TYPE);        //设置上传的路径      client.changeWorkingDirectory("/home/ftpuser/img");        //第一个参数是服务器端的文档名 自己起        //第二个参数就是输入流        client.storeFile("5.jpg", inputStream);        inputStream.close();        client.logout();    }
原创粉丝点击