一、Ubuntu 安装 Vsftpd 服务

1、安装
sudo apt-get install vsftpd
2、添加用户(uftp)
sudo useradd -d /home/uftp -s /bin/bash uftp
3、设置用户密码
sudo useradd -d /home/uftp -s /bin/bash uftp
4、创建用户目录
sudo mkdir /home/uftp
5、设置用户密码
sudo passwd uftp
6、设置/etc/vsftpd.conf配置文件
sudo vim /etc/vsftpd.conf
a、修改上传文件的权限:
这里会有一个问题,默认情况下的默认权限是 077 也就是对应Linux 中的700 计算规则是 linux 的权限 777 - local_umask
如果没有设置local_umask 文件权限,会导致上传之后的文件,我们无法通过服务器访问(缺少权限)
b、在配置文件末尾添加:
userlist_deny=NO userlist_enable=YES userlist_file=/etc/allowed_users seccomp_sandbox=NO local_enable=YES
c、设置上传文件权限:
write_enable = YES
这里如果不设置成YES 默认情况下不允许上传文件。
7、创建/etc/allowed_users
添加允许任务加入到文件中,
8、重启服务
sudo service vsftpd restart
9、使用XFTP 测试连接
使用XFtp 创建一个新的连接,这里需要注意选择的协议ftp,端口是21,在填写好账号密码之后,即可以连接我们的服务器。
测试上传文件:
这里上传了一个txt 文件,我们可以看到文件的权限是666,这里主要就是因为我们设置了上传文件之后的权限 local_umask.
二、Java FtpClient 实现文件上传
1、Maven 依赖
<!-- Apache工具组件 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-io</artifactId> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> </dependency>
2、创建FtpClient 对象远程连接服务器
FTPClient ftp = new FTPClient();
//链接远程服务
ftp.connect("192.168.148.128", 21);
连接结果可以debug 看到:
3、FtpClient 登录服务器
ftp.login("uftp", "**");
//返回登录结果状态
int reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return ;
}
我们可以通过判断replyCode 和replyString 来查看用户是否登录成功!
4、修改文件上传路径和文件类型
//修改上传文件路径
ftp.changeWorkingDirectory("/home/uftp/images/");
//修改文件类型
ftp.setFileType(FTP.BINARY_FILE_TYPE);
5、上传文件
//获取上传文件的输入流
FileInputStream fileInputStream = new FileInputStream(new File("D:/123.jpg"));
//把文件推到服务器上
ftp.storeFile("hello.jpg", fileInputStream);
上传文件完成之后,通过查看返回结果判断时候上传成功
6、退出登录
//退出登录 ftp.logout();
以上步骤就是使用FtpClient完成了一次文件上传操作。
三、使用Nginx 查看服务器图片
1、nginx 配置文件
在server 中添加 图片地址解析
location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt)${
root /home/uftp/images;
expires 7d;
}
2、重启Nginx
./nginx -s reload
3、查看图片
http://192.168.148.128/hello.jpg
总结:到这里我们就完成了一个简单的图片上传到服务器,并且展示的小demo,配置过程中主要碰到的问题是关于文件权限的问题,如果没有设置vsftpd 中的配置文件中local_umask,即使我们成功上传了文件,也无法使用nginx 进行浏览,设置write_enable = YES 保证文件能够上传。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# Java
# FtpClient
# 详解JAVA中使用FTPClient工具类上传下载
# Java使用FTPClient类读写FTP
# JAVA中使用FTPClient实现文件上传下载实例代码
# Java FTPClient实现文件上传下载
# Java中FTPClient上传中文目录、中文文件名乱码问题解决方法
# JavaWeb实现文件上传下载功能实例解析
# JAVA技术实现上传下载文件到FTP服务器(完整)
# java web图片上传和文件上传实例
# java web FTPClient实现上传文件到指定服务器
# 上传文件
# 配置文件
# 文件上传
# 如果没有
# 上传
# 重启
# 传了
# 情况下
# 完成了
# 会有
# 我们可以
# 可以看到
# 问题是
# 一个问题
# 推到
# 创建一个
# 需要注意
# 写好
# 过程中
# 设置成
相关文章:
如何通过商城自助建站源码实现零基础高效建站?
建站之星导航菜单设置与功能模块配置全攻略
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
建设网站制作价格,怎样建立自己的公司网站?
如何在新浪SAE免费搭建个人博客?
中山网站推广排名,中山信息港登录入口?
如何通过VPS搭建网站快速盈利?
内网网站制作软件,内网的网站如何发布到外网?
自助网站制作软件,个人如何自助建网站?
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
建站之星安装后如何配置SEO及设计样式?
如何通过万网虚拟主机快速搭建网站?
济南专业网站制作公司,济南信息工程学校怎么样?
如何在橙子建站中快速调整背景颜色?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
微信小程序 五星评分(包括半颗星评分)实例代码
子杰智能建站系统|零代码开发与AI生成SEO优化指南
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
建站之星备案是否影响网站上线时间?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
MySQL查询结果复制到新表的方法(更新、插入)
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
油猴 教程,油猴搜脚本为什么会网页无法显示?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
建站上市公司网站建设方案与SEO优化服务定制指南
如何通过山东自助建站平台快速注册域名?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
建站之星后台密码如何安全设置与找回?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何在云虚拟主机上快速搭建个人网站?
建站之星如何通过成品分离优化网站效率?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
制作网站的基本流程,设计网站的软件是什么?
如何在建站主机中优化服务器配置?
济南网站制作的价格,历城一职专官方网站?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
网站制作员失业,怎样查看自己网站的注册者?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何选择高效稳定的ISP建站解决方案?
广平建站公司哪家专业可靠?如何选择?
建站VPS推荐:2025年高性能服务器配置指南
建站之星安装模板失败:服务器环境不兼容?
如何快速辨别茅台真假?关键步骤解析
建站DNS解析失败?如何正确配置域名服务器?
*请认真填写需求信息,我们会在24小时内与您取得联系。