WebStorm Deployment仅支持单向自动上传,不拉取远程变更、不校验一致性;Connection中Host、User name、Root path填错会导致404或连接失败;Mappings中Deployment path必须以/开头且相对于Root path;推荐选On explicit save action模式,首次部署需手动上传并验证路径与服务状态。

WebStorm 的 Deployment 功能能实现自动化部署,但「自动上传 ≠ 自动同步」——它只单向推送本地变更,不拉取远程改动,也不校验文件一致性。开错选项或填错路径,轻则 404,重则覆盖系统文件。
Connection 配置填错就白配
Host、User name、Root path 这三个字段填错,Test Connection 会失败,或上传后访问返回 404,但 WebStorm 不报具体错误。
-
Host必须是服务器可直连的 IP 或域名(如192.168.2.100或test.example.com),不能写localhost或内网地址(如10.0.0.x) -
User name是 SSH 登录用户名(如root、ubuntu、deploy),不是你在云控制台注册的邮箱账号 -
Root path是项目实际运行的绝对路径(如/var/www/html、/opt/tomcat/webapps/myapp),填错会导致 Nginx/Apache 找不到资源 - 端口默认是
22,改过 SSH 端口的必须手动填;密钥认证时,Key pair必须指向私钥(如~/.ssh/id_rsa),不是.pub文件 - 配置前建议先在终端执行
ssh user@host -p port验证连通性,这是最可靠的前置检查
Mappings 中 Deployment path 必须以 / 开头
Local path 和 Deployment path 定义的是「本地哪 → 服务器哪」的搬运关系,不是双向映射,斜杠方向和相对性极易出错。
-
Local path通常选项目根目录(如/Users/me/project),也可精确到dist目录(如/Users/me/project/dist) -
Deployment path是相对于Root path的路径,必须以/开头(如Root path是/var/www,那Deployment path应填/my-app,而不是my-app) - 如果项目需部署为子路径(如
https://example.com/admin),Deployment path必须与Web server URL末尾一致(即填/admin) - 多模块部署(如前端 + API)可用
Add another mapping单独配:src/api→/api - 不想传
node_modules或.git?切到Excluded paths标签,加/node_modules、/.git(注意是正斜杠,Windows 也一样)
Upload changed files 模式选错会推草稿
自动上传有三个选项,行为差异直接影响开发稳定性:
-
Never:纯手动,右键选Upload to XXX才触发,适合只在发布前批量推送 -
Always:只要文件内容变更(哪怕还没保存),就立刻上传——会把编辑中未保存的草稿(比如刚改了一半的index.js)推上去,导致测试环境跑着半截代码 -
On explicit save action:只在你按下Ctrl+S(或Cmd+S)时触发,更可控;推荐此模式
真正要注意的是:自动上传不等于自动同步。它只上传本地变更,不会拉取服务器上其他人改的文件。如果你团队共用同一台测试机,又开了 Always,很容易覆盖别人刚部署的配置。
首次部署必须手动上传完整目录并验证服务状态
即使所有配置都正确,第一次部署仍需人工干预:
- 打包完
dist后,在项目工具窗口右键点击dist目录 →Deployment→Upload to XXX,确认上传完成 - 登录服务器,检查文件是否落在预期位置(如
ls -l /var/www/html/my-app/) - 确认 Web 服务已启用,且能通过
curl http://your-server-ip/my-app/index.html访问 - 如果页面空白或报 404,优先检查
Root path和Deployment path是否构成合法的物理路径组合
路径拼接错误是 404 最常见原因,而 WebStorm 不会在上传时提示——它只告诉你“成功”,然后静默失败。


















