Next.js13与Orchid应用部署后前端不更新的技术问询
解决共享主机上Next.js(Orchid框架)前端修改不生效的问题
一、确保/websites/frontend修改生效的操作步骤
- 核对Next.js构建输出与主机服务路径
- 检查项目根目录的
next.config.js,确认distDir配置项(默认是.next)。如果主机采用静态导出模式,需要本地执行next build && next export生成out目录,再将out上传至服务器对应路径,而非.next目录。 - 确认主机的站点服务配置(如Nginx/Apache)是否指向
/websites/frontend/.next(SSR模式)或/websites/frontend/out(静态导出模式)的对应子目录,比如.next/static。
- 检查项目根目录的
- 检查Orchid框架的专属构建流程
- Orchid框架可能自带组件编译或资源打包逻辑,查看项目内的
README.md或配置文件,确认是否需要执行特定构建命令(如orchid build),而非仅依赖Next.js的默认构建流程。
- Orchid框架可能自带组件编译或资源打包逻辑,查看项目内的
- 重启Next.js服务
- 若共享主机允许SSH访问,执行
ps aux | grep next找到Next.js进程ID,用kill -HUP <PID>平滑重启服务,或终止进程后重新执行npm start/yarn start启动。若使用主机控制面板,查找是否有「重启应用」的功能按钮。
- 若共享主机允许SSH访问,执行
- 验证文件上传完整性
- 对比本地构建后的
.next/BUILD_ID与服务器上的对应文件,若不一致说明上传不完整,改用rsync或可靠的文件传输工具重新上传全部构建文件,避免FTP断点续传导致的文件缺失。
- 对比本地构建后的
二、检查主机的Git/缓存机制
- 排查Git自动部署机制
- 进入
/websites/frontend目录,执行git status查看是否处于Git仓库中,检查是否存在未提交的本地修改,或主机是否配置了Git钩子(如post-receive)自动拉取代码并覆盖本地文件。 - 查看目录下是否存在
.git文件夹或hooks子目录,检查钩子脚本是否包含自动部署逻辑——若存在Git自动部署,手动上传的文件会被自动拉取的代码覆盖,需申请Git仓库权限或暂停自动部署。
- 进入
- 检查服务器端缓存
- 若主机使用Nginx,查看站点配置文件是否包含
proxy_cache、expires等缓存规则,针对静态资源(.js/.css/.png等)设置了长期缓存。若有权限可临时调整缓存规则,或联系主机提供商清除服务器端缓存。 - 检查主机控制面板是否自带缓存功能(如cPanel的缓存插件),直接在面板内清除站点缓存。
- 若主机使用Nginx,查看站点配置文件是否包含
- 验证服务读取的目录正确性
- 在
/websites/frontend下创建测试文件test.txt,访问你的域名/test.txt,若无法访问则说明主机服务的不是该目录,需确认站点根目录的配置路径。
- 在
内容的提问来源于stack exchange,提问作者Magdalena Tańska
相关产品推荐
相关产品推荐

