Today I Learned

[크래프톤정글] Week0 : 입소 3일차 TIL (3/12)

eezy 2025. 3. 13. 00:50

Today I Learned (TIL) - 2025.03.13

오늘은 마이페이지 CSS를 완성하고, Git에 올린 후 직접 배포까지 완료했다! 

팀원들과 만든 첫 프로젝트. 생각보다 Python Flask 백엔드를 이해하는데 너무 어려워서, 팀원의 도움을 많이 받았다. 

 

https://github.com/JungleMemo

 

JungleMemo

JungleMemo has one repository available. Follow their code on GitHub.

github.com

 


EC2 배포 과정에서 MongoDB 설치 과정에 첫 난관이 있었고, 포트 포워딩에서도 꽤나 애를 먹었다. 
특히, Ubuntu 24.04 Noble 버전에서는 공식적으로 MongoDB 패키지가 지원되지 않아 강제 설치해야 했는데, 이 과정에서 꽤 많은 시간을 소모했다. 

 

짧게 명령어 코드를 공유하자면 다음과 같이 설치할 수 있다. 

 

Ubuntu 24.04(Noble)에서는 MongoDB 7.0이 공식 지원되지 않으므로 Ubuntu 22.04 리포지토리를 사용해야 함

#Ubuntu 24.04에서도 MongoDB를 설치할 수 있도록 수동으로 .deb 패키지 다운로드 및 설치
wget -qO - https://pgp.mongodb.com/server-7.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-7.0.asc


#Ubuntu 24.04(Noble)에서 MongoDB 7.0을 강제로 설치하기 e
echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-server-7.0.asc] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

sudo apt update

sudo apt install -y mongodb-org

sudo service mongod start

#최신 버전에서 쉘 들어가기
mongosh

 

추가로 포트 포워딩은 네트워크 인터페이스에 따라 eth0 가 아닌 enX0로 포트 포워딩 규칙 설정 후, netfilter-persistant로 재부팅 후에도 유지되도록 설정해주어 해결했다. 다만, 여기서 netfilter가 정확히 어떤 역할을 하는지는 이해하지 못했다. (그 전까지 iptables 설정해줘도, 그 뒤 netfilter 설정이 되지 않으면 포트 포워딩이 되지 않았다.)

 

#현재 네트워크 인터페이스 확인→ enX0, eth0 등 확인

ip a

#포트 포워딩 설정

sudo iptables -t nat -F  # 기존 설정 초기화
sudo iptables -t nat -A PREROUTING -i enX0 -p tcp --dport 80 -j REDIRECT --to-port 5000

#설정 확인

sudo iptables -t nat -L -n -v

#재부팅 후에도 유지되도록 설정

sudo netfilter-persistent save
sudo netfilter-persistent reload

 

그래도 결국 모든 문제를 해결하고 정상적으로 배포 완료!