linux下的FTP安装及调优

前言:

在以前交换平台的开发中,FTP的各类操做算是核心功能点。

在FTP的开发中,遇到了很多坑。

如FTP须要设置被动模式,不然10M以上的包可能会上传失败。

如FTP须要设置囚牢模式,不然访问的文件夹可能会调到根目录去,不在配置的目录中,可能致使访问错误、权限不够等问题。

如下为正确的打开方法,之后linux下安装FTP,轻轻松松。

同事们找你优化FTP,也能驾轻就熟。


1.1 FTP安装

个人本机环境是centOs7.

可使用uname -a查看你的系统信息

    uname -a
    
获得以下信息
>Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linuxlinux

 

Linux下咱们选择vsftp

    yum  install  -y  vsftpd
    
(非必要)FTP客户端安装,能够在服务器上使用客户端测试

    yum  install  -y  ftp

(非必要)FTP 工具

    yum  install  -y  lftp
    
重启FTP

    service   vsftpd  restart
    
自启动

    chkconfig  vsftpd  on


1.2 设置访问模式

编辑配置文件

    vim /etc/vsftpd/vsftpd.conf

设置囚牢模式

    #囚牢模式
    chroot_local_user=YSE#是否将全部用户限制在主目录,YES为启用 NO禁用.
    
> (该项默认值是NO,即在安装vsftpd后不作配置的话,ftp用户是能够向上切换到要目录以外的)
 
注意事项:

在CentOS7下配置chroot_local_user=yes ,配置完成后发现没法访问,远程主机关闭链接。

解决方案以下:

方法1:加一条配置

    vim /etc/vsftpd/vsftpd.conf
    
    allow_writeable_chroot=YES
    
方法二、从新给权限

    chmod 755 /home/ftp_yaoshen
 
1.3 建立FTP 帐号

一、添加linux用户

    useradd  -s  /sbin/nologin  ftp_yaoshen
    
二、重置密码

    passwd ftp_yaoshen

设置密码yaomaomao

三、重启FTP

    service vsftpd restart


四、若是无权限,多是没有赋予执行权限,

    cd /etc/init.d
    
    chmod +x vsftpd

赋权成功后再次执行。


五、用/sbin/nologin 方式添加用户,centos7下可能会登录不上,解决方案:

    usermod -s /bin/bash ftp_coperate

1.4 FTP参数调优

编辑配置文件

    vi /etc/vsfptd/vsfptd.conf

在conf文件中添加以下参数:

    max_clients=10240 #最大链接数,不限制改成0

    max_per_ip=1000  #单IP最大链接数,不限制改成0

须要重启ftp

    service vsftpd restart
 
注:有须要限制上传速率的能够设置

    anon_max_rate=50000 #限制匿名用户50KB
    local_max_rate=200000 #限制本地用户200KB

1.5 FTP客户端访问调优
1.5.1 JAVA客户端
引用API org.apache.commons.net.ftp.FTPClient
 
    //设置被动模式(FTP客户端上传、下载容易失败)
    ftpClient.enterLocalPassiveMode();
     
    // 在操做FTP文件时,改变到文件当前目录
    ftpClient.changeWorkingDirectory(new String(remoteFolder.getBytes("GBK"), FTP.DEFAULT_CONTROL_ENCODING));   


个人公众号:




apache

相关文章
相关标签/搜索