宝塔面板新环境 FTP 上传文件报错问题
原项目迁移后,同事反馈宝塔的 FTP 无法上传文件。
个人尝试使用 FileZilla 进行连接,结果连接过程中就发生了错误:
服务器回应不可路由的地址。使用服务器地址代替。
或从官网下载的繁体版本提示:
伺服器以無法路由的 IP 位址送出了被動式回應. 改為使用伺服器 IP 位址.
百度前一个博文里都是提到修改 编辑
-> 设置
-> 连接-FTP-被动模式
-> 退回到主动模式(F)
,然后确定。这样做的结果就是又报了另外一个错误:
500 I won't open a connection to 10.6.60.67 (only to 218.4.190.194)
之后多次尝试重连,又报了一个新的错误:
421 Too many connections (10) from this IP
总之,前面的那个编辑修改没有到位。同事 FTP 连接过程中倒是没有出现这个错误,不太清楚是什么原因。
找啊找,终于找到了一个跟我有相同经历的博文了,文中提到 pure-ftp 的配置文件中有一个 PassivePortRange
(被动模式端口范围),查看设定为 39000 40000
。需要在服务器运行商和宝塔面板安全同时打开这个端口范围。
这里主要是一个范围设置的问题,宝塔面板里,输入 39000:40000
或者 39000-40000
都能够正确的识别,阿里云里面是 39000/40000
,端口方形之后,终于 FTP 连上了,远程目录结构也显示了出来。
FTP 上传文件报错问题
这时才到 FTP 上传,尝试上传文件,收到错误提示:
553 Can't open that file: Permission denied
一眼看出是权限问题,但前面打不开那个文件,这个比较让人迷惑。尝试着将目录设置成 web 目录:
chown www.www -R /www/wwwroot/newboy
这里的 www 是 nginx 和 php-fpm 进程的运行用户和用户组。无果,取消勾选网站的防跨站攻击,无果。。。
最后的最后,就是没有办法的办法:修改目录权限为 777:
chmod 777 /www/wwwroot/newboy
一开始先设置 755、775 都没有用,干脆权限放到底,终于可以了。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。