You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AWS Elastic Beanstalk EC2上安装Redis时执行中断,请求解决建议

解决Elastic Beanstalk中安装redis-cli时make命令卡住的问题

可能原因与对应解决方法

1. 编译依赖缺失

make进程停滞大概率是缺少编译redis-cli所需的基础依赖包,比如gcc、glibc开发库等。可以通过EB配置文件提前安装依赖:

  • 在项目根目录创建.ebextensions/redis-cli.config文件,写入以下内容:
packages:
  yum:
    gcc: []
    make: []
    glibc-devel: []
commands:
  01_download_redis:
    command: "wget http://download.redis.io/redis-stable.tar.gz"
  02_extract_redis:
    command: "tar xzf redis-stable.tar.gz"
  03_compile_redis_cli:
    command: "cd redis-stable && make MALLOC=libc"
  04_copy_redis_cli:
    command: "cp redis-stable/src/redis-cli /usr/local/bin/"
  05_cleanup:
    command: "rm -rf redis-stable redis-stable.tar.gz"

注:MALLOC=libc参数可规避jemalloc相关的编译依赖问题,这是导致make卡住的常见诱因。

2. 实例资源不足

低配EC2实例(如t2.micro)内存或CPU不足时,编译过程会因资源耗尽停滞。可通过两种方式缓解:

  • 临时升级EB环境的实例类型至t2.small及以上,完成编译后再按需降级
  • 在编译前创建swap分区补充内存,在.ebextensions配置中添加:
commands:
  00_create_swap:
    command: "fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile"

3. 改用预编译包跳过编译

如果不需要源码编译,可直接安装预编译的redis-cli包,以Amazon Linux 2为例:

packages:
  amazon-linux-extras:
    - install redis6

4. 排查部署权限与配置完整性

  • 确认GitHub Action使用的AWS权限足够操作Elastic Beanstalk环境
  • 检查.ebextensions目录是否被.gitignore忽略,确保部署包包含完整配置

验证与排查技巧

部署完成后登录EC2实例,执行redis-cli --version确认安装状态;同时在EB控制台下载完整环境日志,查看make命令的具体错误输出,比截图更能精准定位问题。

内容的提问来源于stack exchange,提问作者minyeong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:23:19