1.搭建vsftpd
yum -y install vsftpd
添加用户ftpuser
useradd ftpuser
添加密码
passwd ftpuser
输入两次密码
修改selinus
执行以下命令查看状态:
getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
注意:ftp客户端工具用主动模式
启动ftp服务
service vsftpd start
重启ftp服务:
service vsftpd restart
修改vsftpd的配置文件/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
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
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
root_local_user=YES
chroot_list_enable=YES
创建chroot_list 添加登陆用户的名字
设置开机自启chkconfig vsftpd on
2.nginx搭建
安装gcc PCRE zlib openssl
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum 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();
}