webstorm连接服务器必须用sftp,host填公网ip或域名、user name填ssh用户名、root path填项目绝对路径(如/var/www/html),三者须与终端ssh user@host -p port完全一致。

WebStorm 连接服务器不是“配个 FTP 就能用”,SFTP 是唯一靠谱的选择;配错 Host、User name 或 Root path 三个字段,Test Connection 永远失败,上传后 404 却不报错。
Connection 里 Host / User name / Root path 填什么才对
这三个值必须和你实际能 ssh 登录服务器的参数完全一致:
-
Host必须是公网可直连的 IP 或域名(不能填localhost、127.0.0.1或内网地址如192.168.x.x) -
User name是 SSH 登录用户名,不是云厂商控制台账号(例如阿里云 ECS 默认是root或ubuntu,不是你注册时用的邮箱) -
Root path是项目在服务器上真实运行的绝对路径,开头必须带/: • Nginx 静态站 → 填/var/www/html• Tomcat 应用 → 填/opt/tomcat/webapps/myapp• PHP 项目根目录 → 填/var/www/myproject - 端口默认是
22,改过 SSH 端口的必须手动输,别信默认值 - 点
Test Connection前,先在终端执行:ssh user@host -p port—— 能通,WebStorm 才可能通
Mappings 中 Local path 和 Deployment path 怎么配不踩坑
这不是“映射”,而是“本地哪块 → 传到服务器哪块”的单向搬运规则:
-
Local path一般就是你 WebStorm 项目根目录(比如./),保持默认即可 -
Deployment path必须是Root path的子路径,且以/开头: • 若Root path是/var/www,则Deployment path应填/myapp,不是myapp(少斜杠会传到系统根目录) - 如果项目要部署为子路径(比如访问
https://example.com/admin),Deployment path就得填/admin,和 Web Server URL 末尾严格一致 - 多个模块需分路径部署?点
Add another mapping单独加,比如:src/api→/api - 不想传
node_modules或.git?切到Excluded paths标签,加/node_modules、/.git(注意是正斜杠,不是反斜杠)
自动上传选 “Always” 还是 “On explicit save action”
选 On explicit save action 更安全可靠:
-
Always会把尚未保存的草稿、临时文件(比如正在编辑但没按Ctrl+S的 JS 文件)也推上去,导致服务器跑着半截代码 -
On explicit save action只在你真正按下保存快捷键时触发,行为可控 - 注意:自动上传 ≠ 自动同步 —— 它只上传本地变更,不会拉取服务器上别人改的文件。多人共用测试机时,开自动上传却没定期
Download,很容易覆盖他人改动
上传后权限不对或文件 404,怎么查
WebStorm 不会自动猜你文件该是什么权限,也不会校验路径是否真能被 Web 服务访问:
- 权限问题:进
Deployment > Options > File permissions > Advanced options…,勾选Use custom file permissions,填:Files:644、Directories:755;特殊文件如.env需单独加一行:.env => 600 - 404 问题:90% 是
Root path或Deployment path填错,检查是否和 Nginx/Apache/Tomcat 实际配置的 root 或 docBase 一致;再确认服务器上对应路径下是否有index.html或可执行入口 - 最常被忽略的一点:WebStorm 配置完后,必须点击左上角的
√把它设为default server,否则右键上传时找不到目标,或上传到错误位置











