使用 FTP(文件传输协议)上传项目到服务器是部署静态网站或小型 Web 项目的常见方式,以下是详细的操作指南,涵盖从准备到上传的全过程。
📌 准备工作
-
服务器信息:
- FTP 地址(Host):通常是服务器的 IP 地址或域名(如
ftp.example.com或168.1.100)。 - 端口(Port):默认是
21(如果是 SFTP 则通常是22)。 - 用户名(Username):FTP 账户名。
- 密码(Password):FTP 账户密码。
- 根目录路径:通常是
/public_html、/www、/var/www/html或/home/username/public_html,具体取决于服务器配置。
- FTP 地址(Host):通常是服务器的 IP 地址或域名(如
-
本地项目:
- 确保你的项目文件已打包好,或者你知道需要上传哪些文件(如
index.html、css/、js/、images/等)。
- 确保你的项目文件已打包好,或者你知道需要上传哪些文件(如
-
FTP 客户端软件(推荐):
- WinSCP(Windows,推荐,支持 SFTP/FTP)
- FileZilla(跨平台,免费开源,最常用)
- Cyberduck(Mac/Windows)
- FlashFXP(老式但稳定)
🚀 使用 FileZilla 上传步骤(以 FileZilla 为例)
第一步:连接服务器
- 打开 FileZilla。
- 在顶部栏填写:
- 主机:输入 FTP 地址(如
sftp://your-domain.com或ftp://your-ip)。 - 用户名:输入你的 FTP 用户名。
- 密码:输入你的 FTP 密码。
- 端口:留空(默认 21)或填写 22(如果是 SFTP)。
- 主机:输入 FTP 地址(如
- 点击 “快速连接”(Quickconnect)。
✅ 成功连接后,你会看到:
- 右边窗口:服务器目录(远程站点)
- 左边窗口:本地电脑目录(本地站点)
第二步:导航到服务器目标目录
- 在右侧窗口中,逐级打开文件夹,找到你的网站根目录。
- 常见路径:
/public_html或/www或/var/www/html。 - ⚠️ 注意:不要上传到
/home或/root等系统目录,否则可能无法访问或权限错误。
- 常见路径:
第三步:上传文件
- 在左侧窗口中,找到你的本地项目文件夹。
- 选中所有需要上传的文件和文件夹(Ctrl+A 全选)。
- 右键点击 → 选择 “上传”(Upload),或直接拖拽到右侧窗口。
💡 提示:
- 如果项目较大,建议先压缩成
.zip包上传到服务器,然后在服务器上用命令行解压,速度更快。# 在服务器终端中解压 unzip project.zip
第四步:检查权限(重要!)
上传完成后,某些文件可能需要特定权限才能正常运行(尤其是 PHP 项目或缓存目录):
- 文件(如
.html,.php,.css):通常设为644 - 文件夹:通常设为
755 - 可写目录(如上传目录、缓存目录):可能需要
775或777(⚠️ 777 不安全,仅用于临时测试)
在 FileZilla 中:
- 右键点击服务器上的文件夹 → “文件权限”(File permissions)。
- 输入数字(如
755)→ 点击“确定”。
🔒 安全建议
-
优先使用 SFTP 而非 FTP:
- FTP 是明文传输,账号密码容易被窃听。
- SFTP(SSH File Transfer Protocol)是加密传输,更安全。
- 如果服务器支持,请使用
sftp://协议,端口通常为22,使用 SSH 用户名和密码。
-
使用强密码:
确保 FTP 账户密码足够复杂,避免被暴力破解。
-
限制访问 IP:
如果可能,在服务器防火墙中只允许你的固定 IP 访问 FTP 端口。
-
定期备份:
上传前备份服务器上的旧文件,防止误删。
❓ 常见问题排查
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| 连接超时 | 防火墙阻止了 21/22 端口 | 联系服务器提供商开放端口,或检查本地网络防火墙 |
| 权限拒绝(Permission denied) | 目标目录不属于你的用户 | 检查服务器目录所有者,或使用 chown 命令修改 |
| 上传后页面 403 Forbidden | 缺少 index.html 或目录权限错误 |
确保根目录有 index.html,并检查目录权限为 755 |
| 上传速度慢 | 文件太多或网络问题 | 先打包成 .zip 上传,再在服务器解压 |
✅ 替代方案建议
如果你的项目是动态网站(如 Node.js、Python、PHP 等),FTP 不是最佳部署方式,建议考虑:
- Git 部署:通过 GitHub/GitLab 自动部署(如使用 Webhook 或 CI/CD)。
- SCP 命令:Linux/macOS 用户可使用
scp命令快速上传。 - 容器化部署:使用 Docker + Nginx 反向代理。
如有具体服务器类型(如宝塔面板、AWS、简米云等),可提供更多信息,我会给出更针对性的指导。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/482269.html



