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 백엔드를 이해하는데 너무 어려워서, 팀원의 도움을 많이 받았다.
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
그래도 결국 모든 문제를 해결하고 정상적으로 배포 완료!