AMH面板中安装的FTP的日志文件在哪里呢?

AMH面板中安装的FTP的日志文件在哪里呢?我的ftp能连接上服务器,但却无法上传任何文件(文件名和目录结构可以传上去但都是0kb体积),想看看ftp日志究竟是怎么回事。
在其它商家那里搭建的amh面板都没有这个问题,只有在某一个商家那里购买的vps才出现这个问题,重装和新购买一个机器,都是同样的结果。

阅读 761
avatarAI BotBETA

FTP日志文件位置

在AMH面板中,FTP的日志文件通常位于以下目录:

/usr/local/amh/logs/ftp/
  • 具体文件可能包括:

    • ftp_login.log(记录登录和连接信息)
    • amh-ftp.log(通用FTP操作日志)
    • 如果使用vsftpd(AMH默认FTP服务),也可能在 /var/log/vsftpd.log,但AMH优先管理其专属日志。

您可以通过SSH登录服务器,使用命令查看日志:

cat /usr/local/amh/logs/ftp/*.log  # 查看所有FTP日志文件
tail -f /usr/local/amh/logs/ftp/amh-ftp.log  # 实时监控日志

在AMH面板中,您也可以直接查看:

  1. 登录AMH面板。
  2. 导航到“服务管理” > “FTP”。
  3. 点击“日志”或“查看日志”按钮(通常在FTP用户管理页面附近)。

诊断文件上传失败(文件为0KB)的问题

您描述的FTP可以连接但上传文件为0KB(文件目录结构和文件名可创建,但内容空白),这通常与权限或配置问题相关。既然是特定商家的VPS出现此问题(重装后问题依旧),可能原因包括:

  • 目录权限不足:FTP用户没有写入文件的权限。检查目标目录的权限和所有权:

    ls -ld /home/wwwroot/example.com  # 替换为您的网站目录
    chmod 755 /home/wwwroot/example.com  # 确保权限为755或777(临时测试)
    chown -R www:www /home/wwwroot/example.com  # 确保所有者为FTP用户或www用户(AMH默认)
  • FTP服务配置错误:AMH使用vsftpd,配置文件在 /etc/vsftpd.conf,需检查关键参数:

    grep "write_enable" /etc/vsftpd.conf  # 必须为 write_enable=YES
    grep "anon_upload" /etc/vsftpd.conf  # 应禁用于普通用户,例如 anon_upload=NO

    如果配置错误,可通过AMH面板重置FTP服务,或手动编辑后重启:service vsftpd restart

  • 系统级限制:特定商家环境可能有SELinux或防火墙拦截:

    • SELinux:临时禁用测试(如问题消失,则需调整策略):

      setenforce 0  # 临时禁用
      getenforce    # 验证状态应为 Permissive
    • 防火墙(如firewalld或iptables):确保FTP端口(21和被动端口范围)开放:

      iptables -L  # 查看规则
      amh-firewall status  # AMH自带防火墙工具,检查设置
  • 磁盘空间或文件系统问题:检查磁盘是否满或只读:

    df -h  # 查看磁盘使用率
    mount | grep noexec  # 确保目录未挂载为noexec(阻止执行写入)

建议排查步骤

  1. 先查看FTP日志:运行 tail -f /usr/local/amh/logs/ftp/amh-ftp.log,尝试上传文件观察日志输出(错误可能为 "PERMISSION_DENIED" 或 "FAIL UPLOAD")。
  2. 测试权限:创建一个测试目录并赋权:

    mkdir /tmp/ftp_test
    chmod 777 /tmp/ftp_test

    通过FTP上传文件到此目录,如果能成功,说明原网站目录权限问题。

  3. 检查商家环境:既然问题只在一个商家出现,重装后依旧,考虑:

    • 联系商家支持,询问VPS的底层虚拟化设置(如KVM/OpenVZ)或是否强制SELinux策略。
    • 在AMH面板重装FTP服务:面板中“软件管理” > 重装vsftpd。
  4. 如果日志不详细:启用详细日志(编辑 /etc/vsftpd.conf,添加 log_ftp_protocol=YESdual_log_enable=YES,然后重启vsftpd)。

如果上述方法无效,提供更多错误日志片段,我可以进一步分析。同时,建议在AMH社区或官方论坛搜索类似问题。

1 个回答

这个通常客户端连接FTP上传时如果有错误就有提示了,
面板『账号管理』那也有一项『连接测试』测试连接是否提示正常。

或是可以给FTP开DEBUG全面日志排查,
在面板『FTP』进入『参数配置』点 编辑配置,修改FTP配置,把VerboseLog的no改为yes
然后FTP连接使用后,用journalctl查看日志,如:
journalctl -n 200 | grep pure-ftpd

推荐问题