3步搞定:怎么用ftp清空网站并部署新源码下载包
很多新手老板看着后台一堆乱码和旧文件,心里发慌。自己不会代码想做网站,又怕动错一个文件把站搞崩。其实没那么玄乎,今天咱们不整虚的,直接上实操。
咱们聊个真实场景。深圳南山区一家做五金配件的外贸公司,去年花了两万块找人做了个站。今年想改版,新设计师给了一堆文件,老板自己拿着电脑想弄。他打开FTP软件,看着服务器里那些看不懂的文件夹,手都在抖。这就是典型的“不敢动”心态。
别怕。清空网站不是删库跑路,是清理垃圾。只要流程对,比你想的简单多了。今天这篇教程,就是手把手教你怎么用FTP清空旧文件,把新的源码下载包上传上去。哪怕你只会上网百度,跟着做也能成。
一、 需求分析:为什么非得清空?
在动手之前,先搞清楚一个逻辑。很多人以为清空网站就是把所有文件删光,然后重新上传。这在某些情况下是必须的,但在很多情况下是多余的,甚至是危险的。
什么时候必须彻底清空?
- 域名或主体变更:比如你的公司换了名字,或者从个人备案转成了企业备案。这时候旧的文件可能包含旧公司的Logo、旧联系方式,甚至旧的ICP备案号。留着不仅不专业,还可能引起访客误解。
- 系统架构大改:比如你原来用的是ThinkPHP框架,现在换成了Laravel,或者从静态页换成了动态CMS。旧的文件和新代码不兼容,留着只会互相打架,导致网站打不开或者报错。
- 安全漏洞修复:如果之前的网站被黑过,留下了后门文件(Webshell)。这时候,最干净的办法就是“格式化重装”。把整个网站目录清空,重新上传经过安全扫描的干净代码,这是最稳妥的止损方式。
什么时候不需要清空?
如果你只是换张图片、改改文案,或者升级一下某个插件,那完全没必要动根目录。直接用FTP覆盖上传对应的文件就行。盲目清空只会增加你的工作量,甚至导致数据丢失。
核心原则:备份!备份!备份!
在讨论怎么清空之前,我必须把这句话刻在墙上:无论你要做什么操作,先把现有网站完整备份下来。
怎么备份?用FTP客户端连接服务器,选中整个网站根目录(通常是 www、public 或 html 文件夹),右键“下载”。同时,别忘了备份数据库。大多数建站程序(如WordPress、织梦)数据都存数据库里。清空文件不等于清空数据。如果你把文件清了但没备份数据库,网站恢复起来就是灾难。
记住,备份不是多此一举,是你的后悔药。
二、 环境准备:工欲善其事
工欲善其事,必先利其器。要操作FTP,你得先有趁手的工具。
1. 选择合适的FTP客户端
市面上工具有很多,FileZilla、WinSCP、CuteFTP。我推荐新手用 FileZilla。
- 理由:开源免费,跨平台(Windows/Mac/Linux),界面直观,断点续传稳定。
- 下载:去FileZilla官网下载,注意别下成盗版广告版。安装时把多余的捆绑软件全取消勾选。
2. 获取FTP账号信息
你需要向你的服务器提供商(如阿里云、腾讯云、华为云)或者建站服务商索要以下信息:
- FTP主机地址:通常是你服务器的公网IP,或者主机商提供的FTP专用域名(如
ftp.yourdomain.com)。 - 端口:通常是21。如果是SFTP(加密传输),端口可能是22。
- 用户名:通常是你服务器账号,或者主机商分配的FTP账号。
- 密码:对应账号的密码。
- 根目录路径:比如
/var/www/html/或/home/username/。这点至关重要,选错目录可能清错文件。
3. 准备新的源码包
你手头应该有新的网站代码。
- 如果是源码下载包,通常是一个
.zip或.tar.gz压缩文件。 - 如果是设计师给的散文件,建议先本地打包成一个文件夹,方便上传。
- 检查:在本地浏览器里,先用Apache或Nginx把新代码跑起来,确保本地能正常访问。如果本地都打不开,上传到服务器也白搭。这一步能帮你避开80%的上传后报错。
4. 安全确认
确认你的服务器IP没有被封禁,网络通畅。建议在非业务高峰期操作,比如晚上10点以后。万一出问题了,有缓冲时间处理。
三、 核心步骤:FTP清空与部署实战
好了,工具备齐,代码备齐,咱们开始干活。以下以FileZilla为例,Windows和Mac操作逻辑一致。
第一步:连接服务器
打开FileZilla,在右侧“站点管理器”点击“新建站点”。
- 协议选
FTP - 文件传输协议(如果是SFTP就选SFTP)。 - 主机填你的FTP地址,比如
203.0.10.10。 - 端口填
21。 - 登录类型选“普通”。
- 用户名、密码填入。
- 点击“连接”。
如果连接成功,左侧是本地文件,右侧是服务器文件。右侧会列出你权限范围内的目录。找到你的网站根目录,比如 public_html。
第二步:创建备份文件夹(关键!)
千万不要直接删除!
在服务器右侧文件列表中,新建一个文件夹,命名为 backup_20231027(带上日期,方便识别)。
然后,把原来网站的所有文件(比如 index.php, assets/, wp-content/ 等)全部拖进这个备份文件夹。
注意: 拖拽过程就是复制。文件会保留在原位置,同时多了一份副本在备份文件夹里。这个过程取决于文件总大小,几百兆的文件可能需要几分钟。耐心等待进度条走完。
第三步:清空原目录
确认备份文件夹里的文件数量和原目录一致,且大小无误。 现在,你可以安全地删除原目录下的所有文件和子文件夹。
- 选中所有文件 -> 右键 -> 删除。
- 如果文件太多,FTP可能会超时。这时候可以分批删除,或者在FileZilla设置里把“传输超时”时间调长一点。
- 技巧:如果文件特别多(比如上万个图片),直接删除很慢。可以考虑在服务器终端(SSH)里用
rm -rf *命令快速清空(前提是你有SSH权限且绝对确认路径正确)。但对于新手,FTP图形界面删除虽然慢,但更直观、更安全。
第四步:上传新源码
原目录清空后,它是空的。 现在,把本地准备好的新源码文件夹内容,拖拽到FTP右侧的空目录中。
- 注意:是拖拽“内容”,而不是拖拽“文件夹本身”。除非你的新代码结构要求嵌套一层文件夹,否则直接上传里面的文件。
- 例如:本地有一个
new-site文件夹,里面有index.html。你应该选中new-site里面的所有文件,拖到服务器。这样服务器根目录下直接出现index.html,而不是new-site/index.html。
第五步:权限检查
上传完成后,检查关键目录和文件的权限。
- 文件夹权限通常建议
755。 - 文件权限通常建议
644。 - 如果用了PHP,确保PHP文件可执行,但通常644就够了。
- 在FileZilla中,右键文件 -> 文件权限,可以批量修改。
四、 代码/配置示例:防止踩坑
光会操作FTP还不够,有些配置文件如果没改对,网站照样打不开。这里给两个最常见的场景示例。
场景1:WordPress更换新主题
假设你清空了 wp-content/themes 目录,上传了新主题。
你需要检查 wp-config.php 文件。虽然通常不需要改,但如果新主题依赖特定的数据库表前缀或常量定义,你可能需要调整。
// wp-config.php 关键配置检查示例
// 确保数据库连接信息正确,这是网站运行的心脏
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_db_user');
define('DB_PASSWORD', 'your_db_password');
define('DB_HOST', 'localhost');// 如果新主题需要开启调试模式(仅在测试环境用,上线前必须关闭)
// define('WP_DEBUG', true);
// define('WP_DEBUG_LOG', true);// 确保时区设置正确,影响文章发布时间显示
define('WP_TIMEZONE', 'Asia/Shanghai');
场景2:静态网站或Node.js应用部署
如果你上传的是一个纯静态站点或编译后的前端代码,你需要确保Web服务器(Nginx/Apache)的指向是正确的。
假设你用的是Nginx,配置文件 /etc/nginx/conf.d/default.conf 中应该有类似这样的代码:
server {listen 80;server_name yourdomain.com;# 关键:指向你上传文件的新目录# 如果你清空的是 /var/www/html,这里就指向它root /var/www/html;index index.html index.htm;location / {try_files $uri $uri/ /index.html;}# 静态资源缓存优化,提升加载速度location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {expires 30d;add_header Cache-Control "public, immutable";}
}
注意:修改完Nginx配置后,必须重载配置才能生效。在服务器终端执行:
sudo nginx -s reload
如果不重载,你上传的文件再对,浏览器访问的还是旧的缓存或旧的路径。
场景3:数据库还原(如果是动态网站)
清空文件后,如果你备份了数据库,需要导入。 使用MySQL命令行:
# 登录MySQL
mysql -u root -p# 选择你的数据库
USE your_database_name;# 导入备份文件(假设备份文件名为 backup.sql,上传到了服务器 /root/ 目录)
SOURCE /root/backup.sql;
或者使用phpMyAdmin网页界面,选择“导入”,上传 .sql 文件。这一步确保你的文章、用户、订单数据不丢失。
五、 常见报错与排查
操作完,浏览器刷新,发现打不开?别慌,看看是不是这几个问题。
1. 404 Not Found
- 原因:文件上传位置不对,或者服务器根目录配置错误。
- 解决:检查FTP里文件是否在
public_html或html目录下。检查Nginx/Apache配置的root或DocumentRoot是否指向该目录。
2. 500 Internal Server Error
- 原因:PHP版本不兼容,或配置文件语法错误。
- 解决:查看服务器错误日志(如
/var/log/nginx/error.log)。检查wp-config.php或.env文件是否有拼写错误。确认服务器PHP版本是否满足新代码要求(如新代码需要PHP 8.1,而服务器是PHP 7.4,就会报错)。
3. 页面显示乱码
- 原因:文件编码不一致。
- 解决:确保所有文件都是 UTF-8 无BOM编码。在本地用VS Code或Notepad++统一转换后再上传。
4. 图片不显示
- 原因:路径大小写敏感(Linux服务器),或权限问题。
- 解决:Linux区分大小写。代码里写
images/logo.png,文件名必须是logo.png,不能是Logo.png。检查图片文件夹权限是否为755。
5. 网站速度慢
- 原因:没有开启缓存,或数据库查询未优化。
- 解决:检查是否开启了Gzip压缩。对于静态资源,配置浏览器缓存。对于动态网站,检查是否有慢查询SQL。
六、 小结与合规提醒
操作到这里,你的新网站应该已经能正常访问了。最后,有几件事必须提醒你,尤其是涉及到国内服务器。
ICP备案是底线
根据工信部规定,在中国大陆境内的服务器,网站必须完成ICP备案才能解析域名访问。 如果你更换了服务器IP,或者更换了建站服务商,导致主体信息变更,你必须去工信部ICP备案系统重新备案或变更备案。
- 未备案直接上线,轻则网站被电信运营商屏蔽(打不开),重则被工信部约谈,甚至关停。
- 备案周期通常需要7-20个工作日,期间网站无法访问。所以,如果你打算迁移服务器,先备案,后迁移,或者准备好过渡方案(如使用境外服务器临时测试,但注意合规性)。
安全加固
清空重装后,不要以为就万事大吉了。
- 修改FTP、SSH、数据库的默认密码。
- 开启SSL证书(HTTPS),现在大部分浏览器都会提示非HTTPS网站不安全。
- 安装安全插件或定期更新核心程序补丁。
- 定期备份!这是老生常谈,但真的有用。
SEO友好性
新站上线,记得提交URL到百度、谷歌等搜索引擎。
检查 robots.txt 和 sitemap.xml 是否正确生成。
如果旧站有收录,尽量保留旧的URL结构,或者设置301重定向,避免流量断崖式下跌。
最后说两句心里话
很多老板觉得建站是“一锤子买卖”,做完就不管了。其实网站是活的,需要维护、更新、优化。 你自己动手做一次清空重装,会明白里面的逻辑。下次设计师再给你一堆文件,你心里就有底了。 不用请人花几千块做“服务器维护”,你自己就能搞定80%的日常操作。
技术不是高墙,只要肯动手,门槛没你想的那么高。 今天这套流程,从备份到上传,再到配置,你都能跑通。 下次再遇到网站卡顿、报错,别急着哭,先看看是不是文件权限乱了,或者缓存没清。
互动时间: 建站这行水挺深的,从几百块的模板站到几万块的定制站,价格跨度大得离谱。 你之前建网站花了多少钱?是找的外包公司,还是自己DIY?留言说说真实价格,让大家看看这钱花得值不值。