본문 바로가기

분류 전체보기

(45)
[KTB-Final]nginx리버스 프록시 이슈(ai 서버에 전달되지 않는 오류) /health가 아닌, //health로 전달되어 오류가 발생하는 것이었습니다.location /ai { rewrite ^/ai(/.*)$ $1 break; proxy_pass http://10.0.27.137:8000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }rewrite구문을 넣어 줬습니다. 이렇게 하면 앞에있는..
[KTB-Final]nginx리버스 프록시 설정 prefix설정 다시..컨테이너 안에서 젠킨스 설정하는데 많이... 애르 먹었다. prefix설저하는데 제대로 안됐다.  젠킨스 컨테이너 환경에서는 chmod +w /usr/local/bin/jenkins.shroot@4fd25a96fe3c:/# nano /usr/local/bin/jenkins.sh 이 명령어로... 안에if [[ "$DEBUG" ]] ; then java_opts_array+=( \ '-Xdebug' \ '-Xrunjdwp:server=y,transport=dt_socket,address=*:5005,suspend=y' \ ) fi # jenkins_opts_array에 프리픽스 옵션 추가 jenkins_opts_array=( "--prefix=/jenkins" ) # 여기 추가 whi..
[KTB-Final]젠킨스 이슈해결 및 AI서버 CI/CD 구성 완료 [Pipeline] }[Pipeline] // withEnv[Pipeline] }[Pipeline] // withEnv[Pipeline] }[Pipeline] // node[Pipeline] End of PipelineERROR: Could not find credentials matching ecr_credentials_idGitHub has been notified of this commit’s build resultFinished: FAILURE자꾸 이렇게 ECR id를 찾을 수 없다는 오류 발생..... 크레덴션에는 다 맞게 설정했고, aws configure도 해줬습니다.젠킨스 파일을 살펴보니  stage('Push to ECR') { steps { ..
[KTB-Final] 젠킨스로 CI/CD 젠킨스 설정부터 Jenkinsfile작성 1. 플러그인 설치2. gitHub 연결해서 CICD하는 거니까 git hub credentials 만들기 !https://velog.io/@padomay1352/jenkins-github-organization jenkins github organization로 spring 배포하기소개 Jenkins에서 Github Organization을 연결하는 방법을 알아보자 1.Github setting 1.1. github setting 클릭 1.2. developer setting에서 GitHub Apps 클릭 1.3. New GitHub Appvelog.io만드는 과정은 이 블로그 참고 3. AWS ECR에 이미지를 저장할 것이기 때문에 AWS credentials ecr도 넣어줍니다. 이건 새로 젠킨스전..
[KTB-Final] prefix는 무엇인가? - jenkins Prefix설정, --prefix, 리버스 프록시 1. prefix 설정이란 무엇인가?prefix 설정은 Jenkins와 같은 웹 애플리케이션이 특정 경로에서 작동하도록 지정하는 설정입니다. 예를 들어, --prefix=/jenkins를 설정하면 Jenkins는 http://:8080/jenkins 경로에서 동작하게 됩니다.이는 컨텍스트 경로(context path)라고도 불리며, 웹 서버가 요청을 처리할 때 경로를 기반으로 특정 애플리케이션이나 서비스를 식별할 수 있도록 합니다.2. prefix 설정의 동작 원리--prefix 옵션을 사용하면 Jenkins는 모든 요청을 해당 경로로 시작하는 URL로 리다이렉트합니다.예를 들어, /jenkins를 prefix로 설정하면 사용자가 http://:8080/로 접근할 때, Jenkins는 이를 http://..
[KTB-Final] 젠킨스 서버(private) 만들기 + nginx리버스 프록시로 연결 private 인스턴스로 젠킨스 서버를 하나 만들어줬습니다. scp -i ~/Downloads/keyname.pem[키가 있는 경로] ~/Downloads/keyname.pem[선택할 키] ubuntu@ip:[서버내에서 키를 복사할 경로]이런 명령어로 로컬에 있는 키를 퍼블릭 서버로 복사해줍니다. 그러면 저렇게 pem키가 복사된것이 보이시죠? 저 상태에서 같은 VPC내에 프라이빗 서버가 위치하기 때문에 똑같이 ssh -i "key.pem" ec2-user@[프라이빗ip]로 들어가주면 프라이빗 서버에 접근이 완료됩니다!이제 프라이빗 서버 안에 젠킨스를 설치해줄게요 저는 아마존 리눅스를 사용해 우분투와는 명령어가 좀 다를 수 있습니다. sudo yum update -ysudo yum install java-..
[KTB_Final]어플리케이션 테스트하기 - nginx와 Jenkins설정(+ RDS MySQL 2003 ERROR) 먼저 nginx는 리버스 프록시의 역할을 하기 때문에 관련 도커파일 뿐만 아니라 관련 설정을 따로 해주어야 합니다. 그래서 configure파일을 만들어 설정해줬습니다.  # Dockerfile# NGINX 이미지 사용FROM nginx:alpine# NGINX 설정 파일을 컨테이너 내부로 복사COPY nginx.conf /etc/nginx/nginx.confCOPY backup_nginx.conf /etc/nginx/conf.d/default.conf# 80번 포트를 사용하여 NGINX 서버 실행EXPOSE 80CMD ["nginx", "-g", "daemon off;"] # nginx.confuser nginx;worker_processes auto;events { worker_connectio..
[KTB_Final] 인프라 비용계산 및 아키텍처 설계(+리버스 프록시 Nginx?) 파이널 프로젝트에 진입했습니다... WBS 계획한 것에 따르면 오늘은 인프라 비용계산아고 아키텍처 설계하는 것을 해보려고 해요! 이땐 서버가 어떤게 있어야하고 어떻게 연결되는지 잘 몰랐어요...러프하게 짠 구성도 인데 저희는 도시농업인을 위한 AI챗봇 어시스턴트앱이라서 백엔드 서버와 알림을 주는 서버, 그리고 리버시 프록시를 담당하는 Nginx! -> 이거에 대해서도 정리를 해야할 것 같네요. 그리고 AI 처리하는 FastAPI 서버와 CICD를 담당하는 젠킨스,, 그리고 새로운 이미지를 저장하는 ECR, 농촌진흥청 정보로 업데이트되는 PDF를 파악하는 이벤트 브릿지, 그리고 로그 모니터링과 성능 모니터링을 담당하는 ELK와 프로메테우스+그라파나가 있습니다.!!  아키텍처를 구성하는 건 참 어려운 것 같..