
网站源代码上传是网站部署中最基础、也最容易出错的一步。很多新手已经买好了域名、服务器和空间,也拿到了网站源码,却不知道应该把文件放到哪里、上传后为什么打不开、数据库应该什么时候导入。实际上,不管你使用FTP、宝塔面板,还是直接登录云服务器,本质流程都差不多:先确认网站运行环境,再上传源码到正确目录,接着配置数据库、域名、权限和伪静态,最后访问测试并排查错误。
一、上传前需要准备什么?在正式上传源码之前,建议先检查四项内容。第一,确认源码类型,例如PHP网站、Java项目、Node.js项目、静态HTML网站、WordPress、ThinkPHP、Laravel等,不同程序需要的环境不同。第二,确认服务器环境,例如PHP版本、MySQL版本、Nginx或Apache、Node版本等。第三,准备好网站源码压缩包,最好是.zip或.tar.gz格式,避免大量小文件逐个上传导致速度慢或文件丢失。第四,准备数据库文件,常见格式是.sql,如果源码不需要数据库,则可以跳过这一步。
二、通过FTP上传网站源码。FTP是比较传统的网站上传方式,适合虚拟主机、轻量服务器或不方便使用面板的环境。常用工具有FileZilla、WinSCP、FlashFXP等。使用FTP前,你需要从主机商后台获取FTP地址、用户名、密码和端口,端口通常是21,SFTP则多为22。连接成功后,左侧一般是本地电脑文件,右侧是服务器目录。你需要找到网站根目录,常见目录名包括wwwroot、public_html、htdocs、www等。
使用FTP上传时,建议不要直接上传解压后的几千个文件,尤其是CMS或框架源码,因为小文件传输容易中断。更稳妥的方法是先在本地压缩源码,再上传压缩包,然后在服务器端解压。如果你的虚拟主机后台没有解压功能,只能通过FTP上传解压后的文件,那么一定要观察传输队列,确认失败文件数量为0。上传完成后,还要检查入口文件是否位于网站根目录,例如index.php、index.html、app.js等。如果多套了一层目录,比如网站实际路径变成wwwroot/project/index.php,访问域名就可能出现目录列表或404。
三、通过宝塔面板上传源码。宝塔面板是目前很多站长最常用的部署工具,优点是可视化、操作简单、集成环境方便。首先登录宝塔面板,进入“网站”菜单,点击“添加站点”,填写域名,选择PHP版本,创建数据库。站点创建完成后,宝塔会自动生成网站目录,一般路径类似/www/wwwroot/你的域名。然后进入“文件”菜单,打开该目录,点击上传,将源码压缩包上传进去,再使用面板自带的解压功能解压。
使用宝塔部署时,有一个经验非常重要:解压后一定要看目录层级。很多源码压缩包解压后会出现一个同名文件夹,例如site.zip解压后变成site文件夹,而真正的网站文件在/www/wwwroot/domain.com/site里面。这时你需要把site文件夹内的所有文件移动到站点根目录,而不是让根目录只放一个site文件夹。正确情况下,站点根目录通常能直接看到index.php、public、config、static、uploads等文件或目录。
四、数据库导入与配置。大多数动态网站都需要数据库。以宝塔为例,添加站点时可以同时创建数据库,系统会生成数据库名、用户名和密码。接着进入“数据库”菜单,点击“导入”,上传.sql文件并导入。如果使用FTP方式,也可以通过phpMyAdmin或主机商数据库管理工具导入。导入完成后,还需要修改源码中的数据库配置文件。不同程序配置文件位置不同,例如config.php、database.php、.env、application/database.php等。你需要把数据库地址、数据库名、用户名、密码、端口改成当前服务器的信息。数据库地址通常是localhost或127.0.0.1,端口一般是3306。
五、通过云服务器命令行上传源码。如果你购买的是阿里云、腾讯云、华为云等云服务器,也可以通过SSH直接部署。常见方式有SCP、SFTP、Git拉取、wget下载等。比如你可以使用WinSCP连接服务器,把源码上传到/www/wwwroot/domain.com;也可以把源码放到代码仓库,在服务器上执行git clone。命令行部署适合有一定基础的用户,效率高,也方便自动化更新。不过要注意,云服务器通常需要自己安装Web环境,例如Nginx、PHP、MySQL、Redis等,或者先安装宝塔面板再操作。
命令行部署的常见流程是:先创建网站目录,然后上传或拉取源码,接着配置Nginx站点文件,再设置运行用户和目录权限。PHP项目通常需要确认php-fpm是否正常运行;Node.js项目需要使用pm2保持进程常驻;Java项目则可能需要配置JDK、Tomcat或直接运行jar包。相比FTP和宝塔,云服务器命令行方式更灵活,但也更考验环境配置能力。
六、域名解析与站点绑定。源码上传完成后,如果还没有绑定域名,网站依然无法通过域名访问。你需要到域名服务商后台添加解析记录,通常添加A记录,主机记录填写@或www,记录值填写服务器公网IP。然后在服务器或宝塔面板中绑定对应域名。解析生效时间可能从几分钟到数小时不等。测试时可以先用服务器IP访问,如果IP能打开而域名打不开,多半是解析或绑定问题;如果IP和域名都打不开,则要检查Web服务、防火墙、安全组和站点目录。
七、权限、伪静态和运行目录设置。很多网站上传后首页能打开,但后台无法登录、图片无法上传、页面404,这通常不是源码坏了,而是权限或伪静态没有设置好。对于PHP网站,uploads、runtime、cache、storage等目录通常需要写入权限。宝塔中可以右键目录设置权限,一般不要盲目设置777,常见设置为755或根据程序要求调整。对于ThinkPHP、Laravel等框架,还要设置正确的运行目录,例如public目录才是入口目录。如果运行目录设置错,可能会暴露源码文件,存在安全风险。
伪静态也很关键。很多CMS和框架使用美化URL,如果没有配置伪静态,文章页、分类页或后台路由可能出现404。宝塔面板中可以进入站点设置,找到“伪静态”,选择对应程序规则,或粘贴官方提供的Nginx/Apache规则。配置后记得保存并重载服务。经验上,遇到“首页正常、内页404”,优先检查伪静态;遇到“页面空白或500”,优先检查PHP版本、错误日志和数据库配置。
八、上传后的安全检查。网站能打开不代表部署完成。建议立即删除安装目录、测试文件、压缩包和数据库备份文件,避免被他人下载。后台默认账号和密码必须修改,数据库密码也不要使用弱密码。如果使用宝塔面板,要修改默认端口,开启面板安全入口,限制登录IP更好。服务器安全组只开放必要端口,例如80、443、22,数据库3306不要随意开放到公网。网站上线后还应配置SSL证书,让访问地址从http变为https,提升安全性和信任度。
九、常见问题排查经验。访问显示403,通常是没有入口文件、权限不足或默认首页设置不正确。访问显示404,可能是目录层级错误、伪静态未配置、域名未绑定。访问显示500,多数是程序错误、PHP版本不兼容、扩展缺失或数据库配置错误。页面乱码可能是数据库字符集不一致,建议使用utf8mb4。后台登录失败可能是缓存、伪静态、session目录权限或数据库导入不完整。排查时不要只看浏览器提示,应该查看网站错误日志、Nginx日志、PHP错误日志,这样效率更高。
FTP适合简单上传和虚拟主机,宝塔面板适合大多数新手和中小型网站,云服务器命令行适合需要灵活控制和自动化部署的项目。无论选择哪种方式,核心原则都是一样的:源码放到正确根目录,数据库正确导入并配置,域名解析和站点绑定一致,权限与伪静态按程序要求设置。只要按这个顺序操作,大多数网站都可以快速完成部署,并且后期维护也会更加清晰稳定。









