宝塔面板作为服务器运维常用的可视化工具,内置了FTP管理功能,用户不需要手动编译安装FTP服务,就能快速完成FTP账户创建、权限配置等操作,方便对服务器内的网站文件进行远程管理。

宝塔面板FTP管理的前期准备
首先需要在宝塔面板中确认FTP服务已经正常运行,宝塔默认集成的FTP服务为vsftpd,操作步骤如下:
- 登录宝塔面板后台,点击左侧导航栏的软件商店
- 在已安装软件列表中找到vsftpd,查看状态是否为运行中
- 如果服务未运行,点击对应行的启动按钮即可,若未安装则点击安装等待完成
创建FTP账户
完成FTP服务启动后,就可以创建对应的FTP账户,具体操作如下:
- 点击左侧导航栏的FTP选项,进入FTP管理页面
- 点击页面左上角的添加FTP按钮,弹出配置弹窗
- 填写FTP账户名、密码,选择对应的根目录(一般选择网站根目录,如
/www/wwwroot/ippipp.com) - 设置权限,默认读写权限即可,若有特殊需求可调整为只读或只写
- 填写完成后点击提交,账户就创建成功了
FTP账户参数说明
| 参数项 | 说明 |
|---|---|
| 根目录 | FTP账户登录后默认进入的目录,只能访问该目录及子目录下的文件 |
| 权限 | 读写:可上传下载修改文件;只读:仅能下载文件;只写:仅能上传文件 |
| 限速 | 可设置上传和下载的速度上限,避免占用过多服务器带宽 |
使用FTP客户端连接服务器
创建好FTP账户后,就可以使用第三方FTP客户端连接服务器管理文件,这里以常用的FileZilla为例:
- 打开FileZilla客户端,填写主机地址(服务器公网IP)、用户名(刚创建的FTP账户名)、密码、端口(默认21)
- 点击快速连接,等待连接成功
- 连接成功后左侧为本地文件列表,右侧为服务器FTP根目录下的文件列表,直接拖拽即可完成文件上传下载
如果是代码层面需要通过FTP操作文件,也可以使用对应的FTP库实现,以下是Python使用ftplib库连接FTP的示例:
import ftplib
# 连接FTP服务器
ftp = ftplib.FTP()
ftp.connect("192.168.0.1", 21) # 服务器IP和端口
ftp.login("test_ftp", "test_password") # FTP账户和密码
# 列出当前目录文件
ftp.retrlines("LIST")
# 上传本地文件到服务器
with open("local_file.txt", "rb") as f:
ftp.storbinary("STOR remote_file.txt", f)
# 下载服务器文件到本地
with open("download_file.txt", "wb") as f:
ftp.retrbinary("RETR remote_file.txt", f.write)
# 关闭连接
ftp.quit()
FTP管理常见问题排查
如果FTP连接失败,可以按照以下步骤排查:
- 检查服务器安全组是否开放了21端口以及被动模式端口范围,宝塔默认被动端口为39000-40000,也需要开放
- 检查FTP账户密码是否正确,根目录是否存在,权限是否配置正确
- 查看vsftpd服务是否正常运行,可在宝塔面板软件商店中重启服务
- 若使用域名连接,检查域名是否解析到服务器IP,且解析已生效
FTP账户的修改与删除
如果需要对已创建的FTP账户进行调整,可在FTP管理页面操作:
- 点击对应账户行的编辑按钮,可修改密码、根目录、权限、限速等参数
- 点击对应账户行的删除按钮,确认后即可删除该FTP账户,删除后无法恢复
- 若需要临时禁用某个FTP账户,可修改为错误密码或者调整根目录为不存在的路径