phpstorm在centos中如何使用FTP
在CentOS上配置vsftpd服务,包括安装、修改配置、创建FTP用户及目录、启动服务并调整防火墙与SELinux。然后在PhpStorm中通过Deployment设置添加FTP连接,测试连通性,配置本地与远程目录映射,即可实现文件同步上传与下载。
要在PhpStorm里连接CentOS的FTP服务,前提是CentOS上已经配置好了FTP服务器。这里以vsftpd为例,整个流程其实比较直接,按下面几个步骤走就能搞定。

一、在CentOS上配置FTP服务器(vsftpd)
1. 安装vsftpd
直接通过yum安装就好,一条命令搞定:
sudo yum install -y vsftpd
2. 配置vsftpd
安装完成后,需要修改主配置文件 /etc/vsftpd/vsftpd.conf。建议先把原文件备份一下,再动手修改:
sudo vi /etc/vsftpd/vsftpd.conf
几个关键参数值得留意:
- 禁止匿名登录:
anonymous_enable=NO - 允许本地用户登录:
local_enable=YES - 允许上传文件:
write_enable=YES - 限制用户只能访问主目录(安全起见,这步很有必要):
chroot_local_user=YES - 如果服务器在NAT或防火墙后面,被动模式基本是必须的:
pasv_enable=YES,同时设置pasv_min_port=60000、pasv_max_port=61000
改好之后保存退出。
3. 创建FTP用户及目录
接下来创建一个专用用户,比如就叫ftpuser:
sudo useradd -d /var/ftp/ftpuser -g ftp ftpuser
设置密码:
sudo passwd ftpuser
再创建一个上传目录,并调整好权限,确保用户能正常上传:
sudo mkdir -p /var/ftp/ftpuser/upload
sudo chown ftpuser:ftp /var/ftp/ftpuser/upload
sudo chmod 755 /var/ftp/ftpuser/upload
4. 启动vsftpd服务
启动服务并设置为开机自启,省得每次手动来一遍:
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
5. 调整防火墙与SELinux
防火墙需要开放21端口以及之前设置的被动模式端口范围:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port-range=60000-61000/tcp
sudo firewall-cmd --reload
如果SELinux开着,测试阶段可以先临时关掉:
sudo setenforce 0
当然,生产环境更推荐调整SELinux策略,而不是直接禁用它。修改配置文件 /etc/selinux/config,把 SELINUX=enforcing 改成 SELINUX=disabled,然后重启系统即可。
二、在PhpStorm中配置FTP连接
CentOS那边的FTP服务搞定之后,就该轮到PhpStorm了。
1. 打开Deployment设置
菜单路径:File > Settings(快捷键 Ctrl+Alt+S),然后在左侧导航里展开 Build, Execution, Deployment,找到 Deployment。
2. 添加新的FTP服务器配置
点击右侧的 + 号,选择 FTP。如果对安全性要求更高,也可以选 SFTP。然后填写以下信息:
- Name:随便起个名字,方便识别就行,比如“CentOS-FTP”。
- Type:选择
FTP。 - Host:CentOS服务器的IP地址或域名。
- Port:默认是21,如果改过端口记得换成实际的。
- Username:刚才创建的FTP用户,比如
ftpuser。 - Password:对应用户的密码。
3. 测试连接
填写完之后,点击 Test Connection 按钮测试一下。如果提示成功,那说明配置没问题。如果失败了,可以按下面几个方向排查:
- vsftpd服务是否在运行:
systemctl status vsftpd - 防火墙是否放行了FTP端口:
firewall-cmd --list-ports - SELinux是否在阻拦:
getenforce,如果是Enforcing状态就得调整策略 - 用户主目录的权限是否正确:
ls -ld /var/ftp/ftpuser,应该归属于ftpuser:ftp
4. 配置本地与远程目录映射
切换到 Mappings 标签页,设置好本地项目目录和远程服务器目录的对应关系:
- Local path:本地项目的根目录。
- Deployment path on server:远程服务器上的路径(相对用户主目录),比如
upload。 - Web path on server:如果需要预览功能,可以填虚拟路径,一般填
/就行。
5. 保存配置
点击 OK 保存。之后就可以通过几种方式同步文件了:
- 自动上传:在
Settings > Build, Execution, Deployment > Deployment里,把“Upload changed files automatically to the default server”设置为On explicit sa ve action(保存时上传)或Always(总是上传)。 - 手动上传:在项目文件上右键,选择
Deployment > Upload to [服务器名称]。 - 下载文件:在远程服务器文件上右键,选择
Download to。
注意事项
- 安全性:FTP本身是明文传输,生产环境建议用SFTP(基于SSH)或者启用TLS的FTPS。
- 被动模式:如果服务器在NAT或防火墙后面,一定要确保vsftpd开启了被动模式,并在PhpStorm里填写对应的端口范围。
- 权限问题:FTP用户对其主目录和上传目录要有足够的读写权限,建议用
755或775,尽量避免777。


































