原 Nginx搭建FTP伺服器的細節問題

2022-01-23 07:17:13 字數 1188 閱讀 1722

關於檔案伺服器很多實現方法,比如採用阿里的分布式檔案系統fastdfs,以及自己內部搭建ftp伺服器,這裡記錄一下關於nginx搭建ftp檔案系統流程。

yum -y install vsftpd

useradd ftpuser  (新增使用者)

passwd ftpuser (對ftpuser新增密碼,需要重複輸入2次,最好是8位密碼)

上面的3個步驟是安裝ftp和建立使用者和設定密碼。

上圖這裡有個小細節就是在linux中,建立乙個檔案時,該檔案的擁有者都是建立該檔案的使用者,因為我是建立了乙個ftpuser使用者,所以這個資料夾所有者是ftpuser。這時候我們想要通過瀏覽器訪問的話需要通過 ftp://username:password@ip 這種方式來獲取

,但是這個很不安全,因為把使用者名稱,密碼,ip都暴漏出去了, 所以這時候需要乙個**來訪問ftp下面的,這時候就可以通過nginx的**機制來實現我們外部對ftp檔案的訪問,主要配置很簡單,就是修改nginx.conf的配置檔案,如下圖:

上面紅色框框是我存放的路徑,  重啟nginx訪問出現了403(禁止訪問),後來排查了ftp的問題、檢查nginx的配置,更改資料夾的所有者ftpuser變為root 還是一直403;最後才發現nginx.conf頂部有個user被注釋了,後來嘗試開啟後再次訪問,能正常看到,所以問題就是這裡,預設的是nobody,沒有許可權組,需要開啟注釋並賦給有許可權的使用者

儘管通過這種方式能實現分布式檔案儲存,但也存在弊端,就是ftp很容易被入侵,而且小型的**使用ftp作為檔案伺服器是沒問題的,但是專案訪問量持續增加的話,必要考慮檔案伺服器的擴充套件性與高可用,目前成熟的檔案伺服器也有很多,例如fastdfs,可以快速的進行線性擴容。

搭建FTP伺服器

ftp 是僅基於 tcp 的服務,不支援 udp。與眾不同的是 ftp 使用兩個埠,乙個資料埠和乙個命令埠,也可叫做控制埠。通常來說這兩個埠是 21 命令埠 和 20 資料埠 由於 ftp 工作方式的不同,資料埠並不總是 20,分為 主動 ftp 和被動 ftp。1.主動 ftp 主動方式的 ftp...

ftp伺服器搭建

1.檢查是否已安裝vsftpd伺服器 rpm qa grep vsftpd 若未安裝則執行 yum install vsftpd y 2.設定開機自啟動 chkconfig vsftpd on1.執行cd etc vsftpd 用vi開啟vsftpd.conf 配置檔案 2.找到chroot lis...

搭建FTP伺服器

初次搭建ftp的過程中經過多次嘗試,總結了乙個較為簡單的ftp搭建步驟 1.首先購買乙個伺服器,個人使用的是阿里雲的ecs雲伺服器,系統選64位的centos7.2版本 阿里雲官網 2.安裝vsftp yum install vsftpd 遇到問號直接按回車 看到complete!表示已安裝完成 設...