平时我们购买虚拟主机就直接拥有了 FTP 账号和密码,可以通过 FTP 上传下载管理文件等,但是购买腾讯云 Linux 服务器的话还需要自己搭建好 FTP 之后才能正常使用。今天 boke112 就以现有的 Linux 服务器 CentOS7.2 64 位,使用 vsftpd 作为 FTP 服务端,FlashFXP 作为客户端跟大家说一下如何手动搭建 FTP 服务。
安装 vsftpd
1. 使用 PuTTY 连接腾讯云服务器(PS:不懂如何连接请参考『腾讯云服务器如何放行 22 端口?如何使用 PuTTy 登录?』)。
2. 执行以下命令,安装 vsftpd。
yum install vsftpd -y
启动 vsftpd 服务
1. 执行以下命令,启动服务。
systemctl start vsftpd
2. 执行以下命令,确认服务是否启动。
netstat -tunlp
返回类似如下信息,则表示 vsftpd 服务已经启动成功。
3. 执行以下命令,安装 telnet 服务。
yum -y install telnet
4. 执行以下命令,在其他联网计算机上测试服务是否启动成功(PS:boke112 导航没有其他服务器测试,就直接跳过这一步了。如果想要测试,请务必在安全组放行 21 端口并关联到服务器中,不懂放行端口可以参考『腾讯云服务器安全组如何放行端口及关联实例?』)。
telnet + 云服务器公网 IP + 21
返回类似如下信息,即表示已经启动成功。
配置 vsftpd
1. 执行以下命令,打开 vsftpd 配置文件。
vi /etc/vsftpd/vsftpd.conf
2. 按“i”或“Insert”切换至编辑模式,将文件中的 anonymous_enable=YES 改为 anonymous_enable=NO。如下图所示:
3. 按“Esc”,输入“:wq”,保存文件并返回。
添加 FTP 用户
1. 执行以下命令,添加用户 ftpuser1。
useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
2. 执行以下命令,设置用户 ftpuser1 的密码。
passwd ftpuser1
3. 创建用户、用户密码设置成功。如下图所示:
使用 FTP 连接服务器
打开 FlashFXP – 快速连接 – 在服务或 URL 中输入服务器公网 IP 地址,端口默认 21,用户名和密码输入上文“添加 FTP 用户”步骤所创建的用户名和密码,然后点击【连接】按钮即可。
至此,我们已经成功通过手动搭建了 FTP 服务器,如下图就是 boke112 导航通过 FTP 连接到腾讯云服务器中的 WordPress 站点安装目录(PS:不懂如何手动安装 WordPress 可参考『腾讯云 Linux 服务器如何手动搭建 WordPress 站点?』)。
常见问题
问题描述:部分用户在本地使用 FTP 客户端连接时可能遇到连接超时和读取目录列表失败的问题。如下图所示:
问题一般出现在 PASV 命令,原因在于 FTP 协议不适合那些公网 IP 不是直接配在网卡上的服务器。因为 FTP 客户端默认是被动模式传输,在被动模式下客户端无法找到有效 IP(只能找到云服务器内网 IP,内网 IP 无法直接和公网通信),所以无法建立连接导致超时等错误。解决办法就是将 FTP 客户端传输模式改为主动模式。
方法一:将客户端传输模式改为主动即可,具体可参考『如何将 FlashFXP 传输模式改为主动模式?』。
方法二:如果客户端网络环境要求被动模式,那么需要在服务端 配置 vsftpd 中的配置文件中新增这些语句:
pasv_address=XXX.XXX.XXX.XXX //(公网 IP)
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=2048
本答案内容是根据腾讯云文档中心教程进行实际操作,想了解更多内容请移步『Linux 实例搭建 FTP 服务』。