MERN栈Ubuntu服务器git pull更新文件后网站无变化问题
MERN栈git pull后网站无变化的排查方案
前端React部分排查
- 确认是否执行重新构建:React项目生产环境依赖
build目录下的静态文件,git拉取前端代码变更后,必须运行npm run build重新生成构建文件。如果用Nginx托管前端,要确保Nginx配置指向的是最新的build目录。 - 重启Nginx服务:修改前端文件或构建后,执行
sudo nginx -s reload让Nginx加载新的静态资源,避免旧缓存生效。 - 强制清除浏览器缓存:按下
Ctrl+F5强制刷新页面,或者在浏览器开发者工具的「网络」面板中勾选「禁用缓存」后重新访问。
后端Node.js/Express部分排查
- 重启Node服务:Node进程不会自动感知代码变更,若直接用
node server.js启动,先按Ctrl+C停止进程再重新启动;如果用PM2管理进程,执行pm2 restart your-app-name。 - 验证进程状态:用
ps aux | grep node查看当前Node进程的PID,确认重启后PID已更新;用pm2 list可快速查看PM2托管的进程运行状态。 - 测试后端接口:用
curl http://你的服务器IP/接口路径调用接口,确认返回内容是更新后的逻辑,排除后端代码未生效的问题。
通用排查步骤
- 确认代码拉取状态:在项目目录执行
git log,查看最新commit记录是否为刚拉取的版本;用git diff检查本地文件与远程分支的差异,确保代码完全同步。 - 更新项目依赖:如果拉取的代码修改了
package.json,必须执行npm install更新依赖,否则可能因依赖缺失导致服务异常。 - 查看服务日志:通过
pm2 logs your-app-name查看PM2托管的后端日志,或查看Nginx日志(路径通常为/var/log/nginx/),定位是否有报错导致服务未正常运行。
内容的提问来源于stack exchange,提问作者brickvey
相关产品推荐
相关产品推荐

