菜鸟科技网

网站如何设置FTP?

第一步:理解什么是 FTP 以及它的工作原理

在开始之前,我们先简单了解一下 FTP。

网站如何设置FTP?-图1
(图片来源网络,侵删)
  • FTP (File Transfer Protocol):文件传输协议,是一种用于在客户端(你的电脑)和服务器(存放你网站文件的地方)之间进行文件传输的标准网络协议。
  • 工作原理:你需要一个 FTP 客户端软件(如 FileZilla, Cyberduck 等)来连接到你的网站服务器,连接成功后,你就可以像在电脑上操作文件一样,上传、下载、删除、修改服务器上的网站文件。

重要提示:现代趋势 虽然 FTP 非常经典,但它有一个严重的安全隐患:用户名和密码是明文传输的,容易被黑客截获,现在更推荐使用它的安全版本——SFTP (SSH File Transfer Protocol)FTPS (FTP over SSL/TLS)

  • SFTP:通过 SSH(安全外壳协议)通道进行文件传输,是目前最主流、最安全的选择,大多数现代虚拟主机或云服务器都默认支持 SFTP。
  • FTPS:在 FTP 的基础上增加了 SSL/TLS 加密层,也非常安全。

本教程将以最安全的 SFTP 为核心进行讲解,但也会提及传统 FTP 的设置。


**第二步:准备工作(你需要准备什么?)

在开始配置之前,请确保你拥有以下信息:

  1. 一台网站服务器:这可以是:

    网站如何设置FTP?-图2
    (图片来源网络,侵删)
    • 虚拟主机/共享主机:最常见的选择,适合个人博客和小型网站,你的主机商会为你管理大部分底层设置。
    • 云服务器/VPS (Virtual Private Server):如阿里云、腾讯云、AWS、DigitalOcean 等,你需要自己管理服务器,灵活性更高,但技术要求也更高。
    • 自己搭建的服务器:如果你有技术能力,可以在自己的电脑或物理机上搭建。
  2. FTP 服务器地址:这是你服务器的网络地址,通常是你的域名(如 ftp.yourdomain.com)或服务器的 IP 地址(如 168.1.100)。

  3. FTP 用户名:用于登录的用户名,有时就是你的 cPanel/Plesk 控制面板的用户名,或者是你专门为 FTP 创建的用户名。

  4. FTP 密码:与用户名对应的密码。

  5. FTP 端口号

    网站如何设置FTP?-图3
    (图片来源网络,侵删)
    • 传统 FTP:默认端口是 21
    • SFTP (推荐):默认端口是 22
    • FTPS:默认端口是 990
  6. 一个 FTP 客户端软件:推荐使用免费的 FileZilla,它支持 FTP、SFTP 和 FTPS,并且跨平台(Windows, macOS, Linux)。


第三步:配置 FTP(分场景详解)

配置 FTP 的方法取决于你使用的是哪种类型的网站服务器。

使用虚拟主机/共享主机(最简单)

对于大多数新手来说,这是最常见的情况,你的主机商已经为你搭建好了 FTP 服务器,你只需要在主机控制面板中创建一个 FTP 账户即可。

以 cPanel 控制面板为例(最常见):

  1. 登录你的 cPanel:通过你的主机商提供的链接和账户密码登录。
  2. 找到 FTP 账户管理:在 cPanel 首页,找到并点击 "FTP Accounts" (FTP 账户) 图标。
  3. 创建新账户
    • Login: 输入你想要的 FTP 用户名(yourname),系统会自动在后面加上你的域名,形成完整的登录名 yourname@yourdomain.com
    • Password: 输入一个强密码,或者使用密码生成器。
    • Directory (可选): 你可以指定该账户只能访问哪个文件夹,如果你想让它只能访问 /public_html/wp-content/uploads/ 文件夹,就在这里输入 public_html/wp-content/uploads/,留空则默认拥有对 /public_html/(网站根目录)的访问权限。
    • Quota (磁盘配额): 设置该 FTP 账户可以使用的最大磁盘空间,通常设置为 "Unlimited" 即可。
  4. 点击 "Create FTP Account"
  5. 记录信息:创建成功后,页面会显示你的 FTP 连接信息。请务必记下以下信息
    • FTP Server Host: ftp.yourdomain.comyourdomain.com
    • FTP Username: yourname@yourdomain.com
    • FTP Password: 你设置的密码
    • Port: 21 (FTP) 或 22 (SFTP)

其他控制面板:

  • Plesk:路径通常是 订阅 > 网站 > FTP 访问 > 添加 FTP 用户
  • DirectAdmin:路径通常是 用户管理 > FTP 账户管理

使用云服务器/VPS(如 Linux + Nginx/Apache)

这种情况下,你需要自己安装和配置 FTP 服务器,我们以在 Ubuntu/Debian 系统上安装 vsftpd (Very Secure FTP Daemon) 为例。

  1. 连接到你的服务器:使用 SSH 客户端(如 PuTTY, Terminal 或 Xshell)登录到你的服务器。

    ssh root@your_server_ip
  2. 更新系统包

    sudo apt update && sudo apt upgrade -y
  3. 安装 vsftpd

    sudo apt install vsftpd -y
  4. 配置 vsftpd:这是最关键的一步,打开配置文件。

    sudo nano /etc/vsftpd.conf

    找到并修改/取消注释以下几行(使用 注释掉不想要的行):

    # 允许匿名登录?不允许,所以注释掉或设为 NO
    anonymous_enable=NO
    # 允许本地用户登录
    local_enable=YES
    # 允许写入操作(上传、修改、删除文件)
    write_enable=YES
    # 用户被限制在自己的主目录下,不能“越狱”到其他文件夹
    chroot_local_user=YES
    # 启用用户列表,并只允许列表中的用户登录
    userlist_enable=YES
    userlist_file=/etc/vsftpd.userlist
    userlist_deny=NO

    Ctrl + X,然后按 Y,再按 Enter 保存并退出。

  5. 创建 FTP 用户: 我们建议为 FTP 创建一个专门的、非 root 的用户。

    # 创建一个名为 ftpuser 的新用户,并设置密码
    sudo adduser ftpuser
    # 根据提示设置密码和用户信息
  6. 将用户添加到允许列表: 打开 vsftpd 用户列表文件,将你刚才创建的用户名 ftpuser 添加进去。

    sudo nano /etc/vsftpd.userlist

    在文件中输入 ftpuser,然后保存退出。

  7. 为 FTP 用户创建网站目录: 为了安全,我们最好为 FTP 用户创建一个专门存放网站文件的目录,并将其所有权分配给该用户。

    # 创建网站目录,/home/ftpuser/website
    sudo mkdir -p /home/ftpuser/website
    # 将目录所有权分配给 ftpuser 用户
    sudo chown -R ftpuser:ftpuser /home/ftpuser/website
    # 设置正确的权限
    sudo chmod -R 755 /home/ftpuser/website
  8. 重启 vsftpd 服务:让配置生效。

    sudo systemctl restart vsftpd
    sudo systemctl enable vsftpd # (可选) 设置开机自启
  9. 配置防火墙:确保 FTP/SFTP 端口是开放的。

    # 开放 SSH (22) 和 FTP (21) 端口
    sudo ufw allow 22
    sudo ufw allow 21
    # 如果你想使用 SFTP (通过 SSH),只需要开放 22 端口即可
    sudo ufw allow 22/tcp
    # 重新加载防火墙规则
    sudo ufw reload

配置完成! 现在你有了 FTP 服务器地址 (your_server_ip),用户名 (ftpuser),密码,以及端口(21 for FTP, 22 for SFTP)。


第四步:使用 FTP 客户端连接网站

我们使用 FileZilla 来连接。

  1. 下载并安装 FileZilla:从 FileZilla 官网 下载并安装。

  2. 填写连接信息

    • 主机:你在第三步中获取的 FTP 服务器地址(如 ftp.yourdomain.com168.1.100)。
    • 用户名:你的 FTP 用户名(如 yourname@yourdomain.comftpuser)。
    • 密码:你的 FTP 密码。
    • 端口21 (FTP) 或 22 (SFTP)。
  3. 快速连接:点击 “快速连接” 按钮。

  4. 成功连接:如果一切正确,FileZilla 会成功连接到服务器。

    • 左侧:是你本地电脑的文件。

    • 右侧:是服务器上的文件。

    • 网站根目录:对于虚拟主机,网站文件通常在 public_htmlwww 目录下,对于你自己的服务器,可能是在 /home/ftpuser/website/var/www/html 目录下。

  5. 开始传输文件

    • 上传:从左侧拖动文件到右侧。
    • 下载:从右侧拖动文件到左侧。

常见问题与排查

  • 连接被拒绝 / 无法连接

    1. 检查主机、用户名、密码、端口是否正确。
    2. 确认服务器防火墙(如 ufw, iptables)是否放行了 FTP/SFTP 端口。
    3. 确认 FTP 服务器服务是否正在运行 (sudo systemctl status vsftpd)。
    4. 如果你使用的是云服务商(如阿里云),检查其安全组设置,是否放行了相应端口。
  • 550 Permission denied (权限被拒绝)

    1. 这是最常见的问题,意味着你的 FTP 账户没有权限操作该文件或目录。
    2. 虚拟主机:检查你在 cPanel 中设置的 Directory 是否正确。
    3. 自己搭建的服务器:检查文件的所有者和权限,你可以使用 chownchmod 命令来修改,将 public_html 目录的所有者设为 www-data (Web 服务器用户):
      sudo chown -R www-data:www-data /var/www/html
      sudo chmod -R 755 /var/www/html
  • 上传文件后网站无法访问 / 文件丢失

    1. 检查你是否上传到了正确的目录(通常是 public_html)。
    2. 检查文件权限是否正确,Web 服务器(如 Nginx, Apache)需要读取文件的权限。
    3. 检查文件名是否大小写敏感(Linux 系统是敏感的)。
  • 速度很慢

    1. 尝试切换到 SFTP 连接,它通常比 FTP 更稳定。
    2. 检查本地网络和服务器网络是否拥堵。

给网站配置 FTP 的核心流程是: 获取服务器信息 → 在服务器上/控制面板中创建 FTP 账户 → 使用客户端软件连接并传输文件。

强烈建议你优先使用 SFTP,因为它更安全。 如果你只是管理一个虚拟主机,通常只需要在 cPanel 里点击几下就能完成配置,非常简单,如果你自己管理服务器,则需要手动安装和配置服务,但灵活性也更高。

分享:
扫描分享到社交APP
上一篇
下一篇