Back/Server

EB nginx 설정 건드리기

EB 쓰다가 EB에 nginx설정을 건드려야할 때가 있다.

처음에 eb + ecr 도커 이미지로 연결해서 올려 놓은 후에,

nginx바꾸려고하면 eb에선 그런거 설정할 수 있는 것도 제공 안한다.

 

alb에 들어가서 수정할려하면 수정도 안되고, (잠깐은 되는데 바로 바뀜ㅎ)

지멋대로 돌아가고 아주 짜증이 난다ㅎㅎ..

몇개 있는 레퍼런스들이라고는 거지같고, 동작도 안한다 ㅎㅎ..

결론은 nginx건드리고 싶으면
무조건 zip파일만 올려야 된다 ㅎㅎ.. 난 zip파일 올리기 싫은데, 그냥 ecr에 있는 이미지만 활용하고 싶은데 ㅎㅎ

시간도 없고, 일단 zip파일을 올리기로 했다.

 

여튼 각설하고

간단하게

루트 디렉토리에 이렇게 만들어주고.


내용은 바꾸고 싶은 내용을 적자 (예시)

client_max_body_size 20M;

 

 

이렇게 하고 ecr연동해서 올린건 아무런 반응을 안하니, 직접 압축파일로 만들고 올려야한다.

압축파일을 매번 하는건 귀찮으니까 githubaction을 이용해주자

	  aws 인증..
	  ecr 도커 이미지 업로드...

      - name: Generate deployment package
        run: |
          mkdir -p deploy/.platform/nginx/conf.d
          cp Dockerrun.aws.json deploy/Dockerrun.aws.json
          cp .platform/nginx/conf.d/proxy.conf deploy/.platform/nginx/conf.d/proxy.conf
          cd deploy && zip -r deploy.zip .
          
     
      - name: Beanstalk Deploy
        uses: einaregilsson/beanstalk-deploy@v14
        with:
          aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
          aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
          application_name: eb앱이름
          environment_name: eb환경이름
          version_label: ecr-docker-${{steps.current-time.outputs.formattedTime}}
          region: ap-northeast-2
          deployment_package: deploy/deploy.zip
      
     
      - slack으로 빌드 성공 메세지 쏘기...

 

이렇게 해주면 nginx도 쉽게 로컬에서 바꿔서 올릴 수 있다.