测试环境改个模板,手动拖 FTP,漏掉一个 js 文件,页面白屏半小时。IntelliJ IDEA 自带的 Deployment 能把这套上传流程固定下来,少犯这种错。
先配一次连接
打开 Tools → Deployment → Configuration,点加号选 SFTP,填主机、端口 22、用户名,认证方式选密码或 Key pair,点 Test Connection 看到成功再往下走。Mappings 标签里填本地项目路径和服务器路径,比如 /www/wwwroot/site,这一项填错是上传后 404 的最常见原因。
排除目录
Excluded Paths 里加上 node_modules、.git、target、.idea。不排的话一次上传几千个文件,慢不说,服务器上多出来的 .git 还可能被人整包下载走,源码就漏了。
三种上传方式
- 右键文件或目录 → Deployment → Upload to,按需传单个文件
- 打开 Automatic Upload,本地保存就同步,只适合测试环境
- Compare with Deployed Version,先看差异再决定传不传
生产环境别开自动上传,误保存一次就等于上线。Options 里的 Delete remote files when local deleted 更要慎用,本地误删会连带删掉服务器文件。
多套环境分开配
测试和正式各建一个配置,名字起成 test、prod,上传前在 Deployment 菜单里切一下,别在同一个配置上反复改主机。切完看一眼菜单里打勾的是哪个,走错环境的事故多半就出在这一步。改完配置最好断开重连一次,旧会话有时还挂在服务器上。
传上去还是旧内容
按顺序查:浏览器强刷排除缓存;确认 nginx 的 root 指向你传的目录;再看属主和权限,文件 644、目录 755 是常规值,缓存目录要可写。Windows 下还有换行问题,.sh 文件带 CRLF 会报 bad interpreter,编辑器右下角切成 LF 再传一次。
这套配置的价值是让上传可重复,不是省一次点击。团队协作时把 deployment.xml 排除出版本库,每人配自己的账号,别把密码提交上去。