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

相關文章
相關標籤/搜索