Amazon web services Amazon EC2 | CodeDeploy[React]-部署成功,但未填充生成文件夹

Amazon web services Amazon EC2 | CodeDeploy[React]-部署成功,但未填充生成文件夹,amazon-web-services,nginx,amazon-ec2,aws-code-deploy,aws-code-deploy-appspec,Amazon Web Services,Nginx,Amazon Ec2,Aws Code Deploy,Aws Code Deploy Appspec,TL;DR当我试图通过SSH显式运行amazonec2[Ubuntu]实例时,npm run build命令在该实例上运行要花很长时间。同时,当我尝试使用CodeDeploy创建一个部署时,部署花费了1个小时的时间并且成功,但是构建文件夹没有被填充,因此我无法在EC2实例的公共URL上查看我的网站。此外,每次尝试显式运行命令后,实例可达性检查都会失败,然后我必须再次启动并停止ec2实例!汪 大家好,我正在尝试将我的MERN Stack应用程序部署到AWS,但我现在被卡住了 目前的进展: 添加了

TL;DR当我试图通过SSH显式运行amazonec2[Ubuntu]实例时,npm run build命令在该实例上运行要花很长时间。同时,当我尝试使用CodeDeploy创建一个部署时,部署花费了1个小时的时间并且成功,但是构建文件夹没有被填充,因此我无法在EC2实例的公共URL上查看我的网站。此外,每次尝试显式运行命令后,实例可达性检查都会失败,然后我必须再次启动并停止ec2实例!汪


大家好,我正在尝试将我的MERN Stack应用程序部署到AWS,但我现在被卡住了

目前的进展:

  • 添加了两个Nginx配置。[正在附加下面的图像] Nginx正在运行,没有问题
  • 在根目录的appspec.yml中添加了build-app.sh。[查看下面的代码]
  • appspec.yml

    version: 0.0
    os: linux
    files:
      - source: /
        destination: /home/ubuntu/badlav-app
    hooks:
      BeforeInstall:
        - location: scripts/build-app.sh
          runas: root
    
    
    使用上述appspec.yml文件,使用CodeDeploy的部署成功,但未填充
    /home/badlav app/badlav client/build
    中的生成文件夹。 所以我试着自己调试,并在SSH(ing:P)进入EC2实例后开始自己一个接一个地运行命令。但是当我到达npm run build时,实例就永远挂起了。筋疲力尽后,我别无选择,我终止了任务。现在,当我在AWS控制台上查看我的实例时,它已经疯了!实例可达性检查失败!唯一的方法是停止实例,然后重新启动它

    由于我是CI/CD新手,请不要评判我的
    appspec.yml
    。如果你们中有人能提出更好的方法,那就太好了,谢谢!:)

    总而言之,我希望能够使用AWS CodeDeploy创建一个部署,但是由于这个
    npm运行构建花费了太多时间并且挂起了我的服务器(实例到达检查失败!),我无法这样做。此外,我甚至不确定
    npm运行构建是否是一个问题

    为了支持我的问题,我非常乐意与大家分享更多的细节/截图。请过问

    提前谢谢

    /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf

    如果您使用的是EC2空闲层,则实例可能具有较低的规格和内存(
    t2.nano
    具有0.5G和
    t2.micro
    具有1G内存)

    可能
    npm run build
    会占用所有内存空间

    我的vue项目经常面临同样的问题


    解决方案:不要对中型和大型项目使用免费层。升级您的计划并使用更好的实例,例如
    t2.medium

    如果您使用的是EC2免费层,则该实例的规格和内存可能较低(
    t2.nano
    有0.5G内存,
    t2.micro
    有1G内存)

    可能
    npm run build
    会占用所有内存空间

    我的vue项目经常面临同样的问题


    解决方案:不要对中型和大型项目使用免费层。升级您的计划并使用更好的实例,例如
    t2.medium

    能否显示您的
    appspec.yml
    文件?编辑并添加了它。请找到。感谢您显示您的
    appspec.yml
    文件?已编辑,已添加。请找到。谢谢,我并没有完全意识到这一点:也许这就是事实。那你是怎么造的?请告诉我,我已经把t2.microI升级到t2.medium了。它就像一个符咒!谢谢请你也试着回答这个问题,我又卡住了,对不起!哦,我没有完全意识到这一点:也许这就是事实。那你是怎么造的?请告诉我,我已经把t2.microI升级到t2.medium了。它就像一个符咒!谢谢请你也试着回答这个问题,我又卡住了,对不起!
    version: 0.0
    os: linux
    files:
      - source: /
        destination: /home/ubuntu/badlav-app
    hooks:
      BeforeInstall:
        - location: scripts/build-app.sh
          runas: root