阿里云ecs服务器上传文件不能超过100M 怎么办?

服务器

阿里云ECS服务器本身并没有默认限制上传文件不能超过100MB。你遇到的“上传文件不能超过100M”问题,通常是由于你使用的上传方式或中间组件(如Web服务器、应用框架、浏览器上传工具等)设置了限制。以下是常见原因和解决方法:


? 常见原因及解决方案

1. Nginx 上传限制(最常见)

如果你通过 Nginx 提供 Web 服务,Nginx 默认限制上传大小为 1MB。

解决方法:修改 Nginx 配置

http {
    client_max_body_size 200M;  # 允许最大200M上传
}

# 或者在 server 块中设置
server {
    client_max_body_size 200M;
}

修改后重启 Nginx:

sudo systemctl restart nginx

2. Apache 上传限制

Apache 使用 LimitRequestBody 指令限制上传。

解决方法:修改 Apache 配置

<Directory "/var/www/html">
    LimitRequestBody 209715200  # 200MB(单位是字节)
</Directory>

重启 Apache:

sudo systemctl restart apache2   # Ubuntu/Debian
sudo systemctl restart httpd     # CentOS/RHEL

3. PHP 上传限制(常见于 PHP 应用)

PHP 默认限制 upload_max_filesize 和 post_max_size 通常为 2M 或 8M。

解决方法:修改 php.ini

upload_max_filesize = 200M
post_max_size = 200M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

重启 Web 服务后生效。


4. 使用浏览器上传工具(如宝塔、OneManager、Webmin)

很多可视化面板自带上传限制。

解决方法:

  • 宝塔面板:右上角“设置” → “上传限制” → 修改为更大值。
  • OneManager / 其他工具:检查其配置文件或文档,调整上传限制。

5. 命令行或 SCP 上传(推荐大文件方式)

如果你只是想上传文件到 ECS 服务器,不要通过网页上传,建议使用命令行工具:

✅ 推荐方式:使用 scp 命令
scp /path/to/your/file.zip root@your-ecs-ip:/root/
✅ 使用 rsync
rsync -avz /path/to/file.zip root@your-ecs-ip:/root/
✅ 使用 SFTP 工具(如 FileZilla、WinSCP)

支持大文件断点续传,更稳定。


6. 网络或客户端限制

  • 某些浏览器上传组件(如 <input type="file">)在前端限制了大小。
  • 检查前端代码或上传脚本是否有 maxFileSize 限制。

✅ 推荐最佳实践

场景 推荐方式
上传大文件(>100MB) 使用 scp、rsync 或 SFTP
Web 应用上传 调整 Nginx + PHP + 应用层限制
频繁上传 搭建 FTP 服务或使用对象存储(如 OSS)

? 进阶建议:使用阿里云 OSS

对于大文件上传,建议使用 阿里云对象存储 OSS:

  • 支持分片上传(支持超大文件)
  • 上传稳定、速度快
  • 可通过 SDK、命令行、OSS Browser 等工具上传

上传到 OSS 后,再从 ECS 下载:

wget https://your-bucket.oss-cn-beijing.aliyuncs.com/large-file.zip

总结

你遇到的“100M限制”不是ECS本身的限制,而是:

  • Web服务器(Nginx/Apache)
  • 应用配置(PHP/Node.js)
  • 上传工具(面板/浏览器)

✅ 解决方法:

  1. 检查并修改 Nginx/PHP/Apache 配置
  2. 使用 scp、rsync 或 SFTP 直接上传
  3. 超大文件建议使用 OSS + 内网下载

如果你告诉我你具体是怎么上传的(比如用什么工具、什么系统、什么服务),我可以给出更精确的解决方案。

未经允许不得转载:CDNK博客 » 阿里云ecs服务器上传文件不能超过100M 怎么办?