当我们购买了一台云服务器或虚拟主机,想要搭建一个网站时,第一步通常就是把本地的网站源码上传到服务器上。对于新手来说,最常用的方法就是通过 FTP 软件进行操作。同时,在上传过程中,我们经常会遇到文件数量多、传输慢的问题,这时候就需要掌握在服务器端直接解压压缩包的高效技巧。这篇教程将手把手带你完成从 FTP 连接到文件上传、下载,再到服务器端压缩与解压的全流程操作。
## 前置准备
在开始操作之前,请确保你已经准备好了以下三个关键要素。缺少任何一项,操作都无法进行。
1. **FTP 客户端软件**:推荐使用 FileZilla,它免费、稳定且跨平台。请前往 FileZilla 官网下载并安装到你自己的电脑上。安装过程一直点“下一步”即可,无需特殊配置。
2. **主机的 FTP 登录信息**:你需要从你的云服务器或虚拟主机服务商的管理面板中,找到以下三项信息:
- **FTP 地址**:通常是一串 IP 地址(例如 192.168.1.1)或者一个域名(例如 ftp.yourdomain.com)。
- **FTP 用户名**:一般是你在主机管理后台创建或默认分配的用户名。
- **FTP 密码**:对应的登录密码。
- **端口**:绝大多数主机默认使用端口 21,除非服务商特别说明。
3. **网站源码文件**:确保你的网站源码(可能是 WordPress、织梦、帝国CMS 等程序包,或者你自己开发的代码)已经下载并解压到你的电脑本地硬盘上,最好放在一个容易找到的文件夹里,比如桌面上的“网站源码”文件夹。
## 分步操作步骤
### 第一步:建立 FTP 连接并登录主机
1. 双击桌面上的 FileZilla 图标,打开软件。你会看到界面分为四个主要区域:左上角是本地电脑的文件目录,左下角是本地文件列表;右上角是远程服务器文件目录,右下角是远程文件列表。
2. 在软件顶部的工具栏中,找到并点击“打开站点管理器”图标(通常是一个电脑显示器的图标,或者点击菜单栏的“文件” -> “站点管理器”)。
3. 在弹出的“站点管理器”窗口中,点击左下角的“新站点”按钮。给你的站点起一个名字,例如“我的云服务器”,方便以后识别。
4. 在右侧的“常规”选项卡下,填写你的 FTP 信息:
- **协议**:保持默认的“FTP - 文件传输协议”即可。
- **主机**:输入你从主机服务商那里获得的 FTP 地址。
- **端口**:输入 21(除非服务商指定了其他端口)。
- **加密**:选择“如果可用,使用显式的 FTP over TLS”。这是一种加密传输方式,可以避免密码被窃取。如果你的主机不支持,则选择“仅使用普通 FTP(不安全)”。
- **登录类型**:选择“正常”。
- **用户**:输入你的 FTP 用户名。
- **密码**:输入你的 FTP 密码。
5. 点击“连接”按钮。如果信息正确,FileZilla 的顶部信息栏会快速滚动代码,最终显示“目录列表成功获取”。此时,右上角的远程站点区域会显示出你服务器上的文件夹结构,通常包括 `wwwroot`、`htdocs` 或 `public_html` 等文件夹,这就是你存放网站文件的地方。
### 第二步:将网站源码从本地上传到服务器
1. 在 FileZilla 左上角的本地站点区域,导航到存放你网站源码的文件夹。点击文件夹路径旁边的下拉箭头,或者直接双击文件夹图标,直到你看到源码文件(通常是 `index.php`、`wp-config.php` 等)。
2. 在右上角的远程站点区域,找到并双击进入你网站对应的根目录。对于大多数虚拟主机,这个目录是 `wwwroot` 或 `htdocs`。对于云服务器,可能是 `/var/www/html`。如果不确定,请查阅你的主机文档或咨询客服。
3. **关键操作:** 在开始上传前,建议清空远程根目录下的默认文件。选中远程站点区域里的所有文件和文件夹(按 `Ctrl+A` 全选),然后右键点击,选择“删除”。这一步是为了避免旧文件与新文件冲突。**注意:** 如果根目录下有重要的 `.htaccess` 或 `wp-config.php` 等配置文件,请先备份到本地再删除。
4. 回到本地站点区域,按下 `Ctrl+A` 全选所有源码文件和文件夹。
5. 在选中的文件上右键点击,选择“上传”。你也可以直接将选中的文件拖拽到右侧的远程站点区域。
6. 观察底部的传输队列区域。你会看到文件正在逐个上传。等待队列中的任务全部完成,并且状态显示为“成功的传输”为止。如果中途出现失败,可以右键点击失败的任务,选择“恢复”或“重新传输”。
### 第三步:从服务器下载文件到本地(备份或迁移)
1. 在 FileZilla 右上角的远程站点区域,找到你想要下载的文件或文件夹。例如,你想备份整个网站,就选中网站根目录(如 `wwwroot`)。
2. 在左上角的本地站点区域,导航到你想要存放下载文件的目标文件夹。比如,你可以在本地电脑的 D 盘新建一个名为“网站备份”的文件夹,然后进入这个文件夹。
3. 在远程站点区域,选中你要下载的文件或文件夹(可以多选)。
4. 右键点击选中的项目,选择“下载”。或者直接将其拖拽到左侧的本地文件夹中。
5. 观察底部的传输队列,等待所有文件传输完成。下载完成后,你可以在本地文件夹中看到这些文件。
### 第四步:在服务器端直接解压压缩包(高效上传法)
当你的网站源码文件数量非常多(比如超过 5000 个),通过 FTP 一个个上传会非常慢。更高效的方法是:先在本地将源码打包成一个压缩包(如 `.zip` 或 `.tar.gz`),然后上传这个单一的压缩包,最后在服务器端通过命令解压。
1. **在本地打包压缩包**:
- 在你的电脑上,找到网站源码文件夹。
- 右键点击文件夹,选择“添加到压缩文件”(Windows 系统,需要安装 WinRAR 或 7-Zip)或“压缩”(macOS 系统)。
- 压缩格式选择 `ZIP`。这是最通用的格式,几乎所有服务器都支持。
- 给压缩包起一个简单的名字,比如 `site.zip`。点击“确定”完成压缩。
2. **上传压缩包到服务器**:
- 按照“第二步”的方法,通过 FileZilla 将刚才生成的 `site.zip` 文件上传到服务器的网站根目录(如 `wwwroot`)。由于只有一个文件,传输速度会非常快。
3. **登录服务器 SSH(安全外壳协议)**:
- 这一步需要使用 SSH 客户端。Windows 用户可以下载 PuTTY 或使用 Windows 10 以上版本自带的 PowerShell。macOS 和 Linux 用户可以直接使用终端。
- 打开你的 SSH 客户端。
- 输入连接命令:`ssh 用户名@服务器IP`。例如:`ssh root@192.168.1.1`。然后按回车。
- 系统会提示输入密码。输入你的服务器 root 密码(输入时屏幕不会显示任何字符,这是正常的),然后按回车。
- 登录成功后,你会看到类似 `root@server:~#` 的命令提示符。
4. **导航到网站根目录**:
- 在命令行中,输入 `cd /var/www/html`(这是常见的 Apache/Nginx 网站根目录,请根据你的实际情况修改,例如 `cd /www/wwwroot/你的域名`)。按回车。
- 输入 `ls` 并按回车,查看当前目录下的文件列表。你应该能看到刚刚上传的 `site.zip` 文件。
5. **执行解压命令**:
- 如果你的压缩包是 `.zip` 格式,输入以下命令并按回车:
```bash
unzip site.zip
```
- 如果你的压缩包是 `.tar.gz` 格式(Linux 常用),输入:
```bash
tar -xzvf site.tar.gz
```
- 系统会开始解压,并在屏幕上显示解压出来的文件列表。等待命令执行完毕,光标重新回到提示符状态。
6. **清理压缩包**:
- 解压完成后,为了安全,建议删除上传的压缩包。输入命令:
```bash
rm -f site.zip
```
- 再次输入 `ls` 确认文件结构是否正确。此时你应该看到网站源码文件已经全部到位。
## 常见问题
**问题 1:FTP 连接失败,提示“无法连接到服务器”或“连接超时”。**
- **原因**:最常见的原因是服务器防火墙没有放行 FTP 端口(通常是 21),或者你输入的 FTP 地址/端口错误。
- **解决**:首先检查你的 FTP 地址和端口是否与主机服务商提供的一致。其次,登录你的云服务器控制台(如阿里云、腾讯云),检查“安全组”或“防火墙”规则,确保允许入方向的 TCP 21 端口访问。如果是被动模式,还需要放行 1024-65535 之间的端口范围,或者设置 FileZilla 为主动模式(在站点管理器的“传输设置”中修改)。
**问题 2:上传过程中文件失败,提示“权限被拒绝”。**
- **原因**:你当前的 FTP 用户对目标文件夹没有写入权限。
- **解决**:如果你有服务器 root 权限,可以通过 SSH 登录,使用 `chmod -R 755 /目标文件夹路径` 命令修改文件夹权限。如果你使用的是虚拟主机,通常需要登录主机管理面板,找到“文件管理器”,然后右键点击目标文件夹,修改权限为 755 或 777(注意 777 有安全风险,仅临时使用)。也可以联系主机客服协助修改。
**问题 3:解压后网站访问出现 500 错误或白屏。**
- **原因**:解压时可能覆盖了关键配置文件,或者解压后的文件没有放置在正确的目录层级。
- **解决**:检查解压后的文件结构。有时压缩包内还包含一个外层文件夹(例如 `site/site/...`),导致源码文件没有直接放在根目录。你应该确保 `index.php` 等入口文件直接位于网站根目录下。如果多了一层文件夹,需要手动移动文件。另外,检查 `.env` 或 `wp-config.php` 等配置文件中的数据库连接信息是否正确。
**问题 4:使用 `unzip` 命令时提示“命令未找到”。**
- **原因**:你的服务器系统没有安装解压工具。
- **解决**:通过 SSH 登录后,执行安装命令。对于 CentOS/RedHat 系统:`yum install -y unzip`。对于 Ubuntu/Debian 系统:`apt-get update && apt-get install -y unzip`。安装完成后,再次执行解压命令即可。
## 收尾总结
通过以上步骤,你已经掌握了两种核心的文件操作方式:一种是使用 FileZilla 进行可视化的 FTP 上传下载,适合日常小规模文件管理与备份;另一种是结合本地压缩和服务器端 SSH 解压的高效方法,特别适合首次部署网站或迁移大量数据时使用,能节省大量等待时间。
在实际操作中,建议养成良好习惯:上传前先清理服务器旧文件,上传后及时删除压缩包,并定期通过 FTP 下载网站文件和数据库进行双重备份。掌握这些技能后,无论是搭建新站还是进行网站迁移,你都能游刃有余地独立完成。