Linux环境安装FTP服务Serv-U
需求:在Linux环境上安装FTP服务端Serv-U
解决方案:
1.下载Serv-U的linux 64bit的安装文件(如果要安装ftp的机器外网不通,则需要本地下载后上传到该机器)
wget http://www.rhinosoft.com.cn/download/14.0.1.0/SU-MFTS-Linux-64bit.zip
2.解压安装文件
unzip SU-MFTS-Linux-64bit.zip
3.对安装文件赋予最高权限(r=4,w=2,x=1) ,键入y继续执行
chmod 777 Serv-U-Linux-x86_64-Install
4.继续默认安装并启动服务,默认安装在/usr/local/Serv-U目录下,安装完成,默认管理界面服务的端口是8080
5.现在可以在浏览器中输入:http://ip:8080/ ,如果访问不了,原因可能是:
1)8080端口已被占用,可在Serv-U-StartupLog.txt中查看日志确认
2)防火墙没有关闭,需要手动关闭:service iptables stop
6.使用管理员默认帐号/密码:admin/admin登录,即可新增域、添加账户、配置数据目录等
7.这时候就可以测试了,使用客户端FlashFXP上传文件。浏览器可浏览ftp://ip查看下载(IE浏览器如果打开不了,需要在工具->Internet选项->高级中去除勾选下图中的选项)
8.java代码测试FTP服务的上传下载功能
- package com.besttone.zookeepergroup;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import org.apache.commons.net.ftp.FTPClient;
- import org.apache.commons.net.ftp.FTPFile;
- import org.apache.commons.net.ftp.FTPReply;
- /**
- * @author zhenzhen
- * @title ItemFtp
- * @Description : FTP 上传下载工具类
- */
- public class ItemFtp {
- private FTPClient ftp;
- /**
- *
- * @param path
- * 上传到ftp服务器哪个路径下
- * @param addr
- * 地址
- * @param port
- * 端口号
- * @param username
- * 用户名
- * @param password
- * 密码
- * @return
- * @throws Exception
- */
- private boolean connect(String path, String addr, int port,
- String username, String password) throws Exception {
- boolean result = false;
- ftp = new FTPClient();
- int reply;
- ftp.connect(addr, port);
- ftp.login(username, password);
- ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
- reply = ftp.getReplyCode();
- if (!FTPReply.isPositiveCompletion(reply)) {
- ftp.disconnect();
- return result;
- }
- ftp.changeWorkingDirectory(path);
- result = true;
- return result;
- }
- /**
- * @author
- * @class ItemFtp
- * @title upload
- * @Description :
- * @time 2013 2013-11-27
- * @return void
- * @exception :(Error note)
- * @param file
- * 上传的文件或文件夹
- * @param path
- * 上传的文件的路径
- * @throws Exception
- */
- private void upload(File file, String path) throws Exception {
- System.out.println(" file.isDirectory() : " + file.isDirectory());
- if (file.isDirectory()) {
- ftp.makeDirectory(file.getName());
- ftp.changeWorkingDirectory(file.getName());
- String[] files = file.list();
- for (int i = 0; i < files.length; i++) {
- File file1 = new File(file.getPath() + "\\" + files[i]);
- if (file1.isDirectory()) {
- upload(file1, path);
- ftp.changeToParentDirectory();
- } else {
- File file2 = new File(file.getPath() + "\\" + files[i]);
- FileInputStream input = new FileInputStream(file2);
- ftp.storeFile(file2.getName(), input);
- input.close();
- }
- }
- } else {
- File file2 = new File(file.getPath());
- System.out.println(" file.getPath() : " + file.getPath()
- + " | file2.getName() : " + file2.getName());
- InputStream input = new FileInputStream(file2);
- ftp.changeWorkingDirectory(path);
- ftp.storeFile(file2.getName(), input);
- input.close(); // 关闭输入流
- ftp.logout(); // 退出连接
- }
- }
- /**
- * @author
- * @class ItemFtp
- * @title download
- * @Description : FPT 下载文件方法
- * @time 2013 2013-11-27
- * @return void
- * @exception :(Error note)
- * @param reomvepath
- * 下载的文件的路径
- * @param fileName
- * 下载的文件名
- * @param localPath
- * 下载的文件本地路径
- * @throws Exception
- */
- @SuppressWarnings("unused")
- private void download(String reomvepath, String fileName, String localPath)
- throws Exception {
- ftp.changeWorkingDirectory(reomvepath);
- // 列出该目录下所有文件
- FTPFile[] fs = ftp.listFiles();
- // 遍历所有文件,找到指定的文件
- for (FTPFile ff : fs) {
- if (ff.getName().equals(fileName)) {
- // 根据绝对路径初始化文件
- File localFile = new File(localPath + "/" + ff.getName());
- // 输出流
- OutputStream is = new FileOutputStream(localFile);
- // 下载文件
- ftp.retrieveFile(ff.getName(), is);
- System.out.println("下载成功!");
- is.close();
- }
- }
- ftp.logout(); // 退出连接
- }
- public static void main(String[] args) throws Exception {
- ItemFtp t = new ItemFtp();
- boolean lianjie = t.connect("/zhengzhenzhen", "180.153.*.*", 21,
- "*", "*");
- System.out.println("连接 :" + lianjie);
- // 上传
- File file = new File("d:\\test\\test.txt");
- t.upload(file, "/zhengzhenzhen/");
- // 下载
- // t.download("/zhengzhenzhen", "22.png", "D:\\test");
- System.out.println("test");
- }
- }
6.打开FlashFXP客户端连接FTP服务查看结果
完毕!
Linux环境安装FTP服务Serv-U相关推荐
- linux 环境安装 webdav 服务
linux 环境安装 webdav 服务 执行安装语句 yum install httpd* -y 安装路径为:/ect/httpd/ 相关配置 httpd.conf 在文件 /etc/httpd/c ...
- Linux系统下安装FTP服务
Linux系统下安装FTP服务 1. 简介 2. 工作原理 3. FTP的安装与配置 1. 下载vsftp安装包 2. 检查是否已经安装了vsftp,后面会介绍怎样卸载 3. 安装vsftpd 4. ...
- Linux离线安装NTP服务,内网环境下配置本地时间同步
参考文章:Linux离线安装NTP服务,无外网环境下配置本地时间同步 | 航行学园 1.常用命令 rpm -qa | grep ntp #查询已安装的ntp版本信息等 rpm -e --nodeps ...
- linux环境下和网络服务相关的配置文件含义及如何配置
要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置.那天查看服务器的eth0地址,后来想了一些问题,到家里就翻了翻以前的文档,无意中看到了这个 ...
- Linux 环境安装 Node、nginx、docker、vsftpd、gitlab
Linux 环境安装 centos7 # 更新yum yum update -y 0. 防火墙 firewalld 新入的JD云服务器,发现防火墙默认是关闭的. # 查看防火墙状态 systemctl ...
- Ubuntu安装FTP 服务, 实现和Windows的文件互传
如下内容来自<[正点原子]I.MX6U嵌入式Linux驱动开发指南V1.5.2.pdf> 在开发的过程中会频繁的在 Windows 和 Ubuntu 下进行文件传输,比如在 Windwos ...
- linux环境安装mysql8.0以及使用Navicat连接Linux中的mysql
目录 一.linux环境安装mysql 二.使用Navicat连接Linux中的mysql 一.linux环境安装mysql 1.官网下载mysql对应的包,我这下载的是8.0.28版本.官网链接:M ...
- Linux下检测FTP服务并开启FTP服务
Linux下检测FTP服务并开启FTP服务 1. 检测FTP服务是否开启 通过查询提供FTP服务的进程是否存在 Shell代码 ps -ef | grep ftp 并未找到任何包含ftp关键字 ...
- 在Linux环境安装memcached
2019独角兽企业重金招聘Python工程师标准>>> 1.memcached的安装依赖libevent-dev组件,先安装这个组件 在Linux环境安装memcached 2.下载 ...
最新文章
- mass Framework event模块 v4
- webGIS(离线版)研究路线归总
- jQuery javaScript js 判断浏览器的类型、版本的方法
- Unity 编辑器启动时运行自定义编辑器脚本
- vb6.0动态加载odbc驱动(mysql数据源)_vb教程之在VB中动态加载ODBC数据源
- sql创建和添加时间字段
- Chrome谷歌浏览器Flash Player被屏蔽如何解决
- vnc支持用计算机民远程吗,VNC远程控制软件是什么?有没有更好的远程桌面控制解决方案?...
- python正则表达式提取字符串中的书名_使用python正则表达式从字符串中提取名称...
- 提升 Docker Desktop For macOS 磁盘使用率
- NLP学习笔记——情感分析一 (简介)
- 【2023最新版】超详细NMAP安装保姆级教程,Nmap的介绍、功能并进行网络扫描,收藏这一篇就够了
- top 与 margin-top的区别
- 不用做实验也可以轻松找到癌症组织特异性基因
- 详解Lodash中的fp实现
- 管理者树立威信,牢记这“6字诀”!
- 【论文翻译】 BMN: Boundary-Matching Network for Temporal Action Proposal Generation
- ZOJ 3964 Yet Another Game of Stones (博弈)
- 【网络】IEEE 802现有标准
- mac html乱码,Mac 中文字符显示为乱码
热门文章
- 基于Hadoop的疫情信息分析与可视化研究——包含大屏可视化及预测算法
- rabbitlearning下载_RabbitMQ-learning
- 用于自动驾驶汽车赛车中实时最优轨迹规划的顺序凸规划方法(Matlab代码实现)
- 瑞禧|富勒烯C60|Fullerene-C60|CAS:99685-96-8
- mongoDB聚合操作_aggregate()归纳
- 创造虚拟环境报错An unexpected error has occurred. Conda has prepared the above report.解决方案
- Window10 双击bat文件,提示“windows找不到文件xxx.bat”
- RSS Reader for MAC Code
- Windows安装go-python环境--使用golang执行python3
- 单纯形法Python实现