webstorm deployment 是单向无校验文件搬运,非git推送或远程开发;connection中host/user/root path填错致连接失败或404;mappings中deployment path须以/开头且相对root path;推荐选on explicit save action自动上传,首次部署需手动上传完整目录。

WebStorm 的 Deployment 自动上传不是 Git 推送,也不是远程开发,它只是单向、无校验的文件搬运 —— 配错路径或权限,代码可能传到 /tmp 里跑不起来,或者覆盖掉 /etc/nginx 导致服务宕机。
Connection 里 Host/User/Root path 填错就连接失败或 404
这三个字段决定你能不能连上、文件传到哪、浏览器能不能访问到:
-
Host必须是服务器可直连的地址(如192.168.2.100或prod.example.com),不能写localhost或内网不可达 IP -
User name是 SSH 登录用户(如ubuntu、deploy),不是云控制台账号名 -
Root path是服务器上项目运行的绝对路径(如/var/www/html),填错会导致 Nginx 找不到静态资源,返回 404 - 端口默认
22;改过 SSH 端口的必须手动填;密钥认证时,Key pair必须指向私钥文件(如~/.ssh/id_rsa),不是.pub文件 - 配置前建议先在终端执行
ssh user@host -p port验证连通性,比 WebStorm 的Test Connection更可靠
Mappings 中 Deployment path 必须以 / 开头且相对 Root path
这个路径不是 URL 路径,也不是本地路径,而是「从 Root path 出发的子目录」:
- 如果
Root path是/var/www,你想把项目放在/var/www/my-app,那么Deployment path必须填/my-app(开头必须有/) -
Local path通常选项目根目录(如/Users/me/project),也可以精确到dist(如/Users/me/project/dist) - 如果项目需部署为子路径(如
https://example.com/admin),Deployment path和Web path都得对应填/admin - 不想传
node_modules或.git?切到Excluded paths标签,加/node_modules、/.git(Windows 下也用正斜杠)
Upload changed files 选 On explicit save action 最稳妥
自动上传有三个选项,行为差异极大:
-
Never:纯手动,右键选Upload to xxx才触发,适合发布前批量推 -
Always:只要文件内容变更(哪怕还没保存),就立刻上传 —— 会把编辑中未保存的草稿同步过去,极易出错 -
On explicit save action:仅在你按下Ctrl+S(或Cmd+S)保存后上传,可控、可预期,推荐日常开发使用 - 首次部署必须手动上传整个目录(右键项目根目录 →
Deploy to xxx),否则远程只有零散文件,服务起不来
最易被忽略的一点:Deployment 不拉取远程变更、不校验文件一致性。你本地删了一个文件,远程还留着;别人直接改了服务器上的配置,WebStorm 完全不知道。真要双向同步,得靠 rsync 或 Git,而不是勾个自动上传就完事。











