-
나만의 온라인저지 사이트 만들기 - 1개발일지/개발일지 2021. 6. 25. 22:41
어느 날 저는 수업 실습 조교를 맡게 되었고, 갑작스럽게 비대면 실습을 진행해야 하는 상황이라 어떻게 하면 비대면으로 그나마 효과적인 실습수업을 할 수 있을까 고민을 했었는데요. 저는 그래서 백준, 코드 포스처럼 온라인 저지 (Online Judge)를 구현해서 수업 때 하면 어떨까 생각을 하게 되었습니다. 그런데 수업까지 1주일도 남지 않은 상황이라 저지 사이트를 처음부터 구현을 하기에는 무리였고 괜찮은 소스가 있나 찾아봤는데 칭다오대학교에서 오픈소스로 배포하는 OnlineJudge 을 발견하였고 배포 환경부터 배포까지 일지를 남깁니다.
배포서버의 OS는 linux, mac을 추천합니다. 윈도우는 wsl으로는 안되고 wsl 2.0은 시도는 안해봤지만 패스...
github.com/QingdaoU/OnlineJudgeDeploy
위 링크에서 git clone을 위한 url을 복사후 설치할 디렉토리에서 clone을 해줍니다
배포를 하기전 아래와 같이 필요한 것들을 설치해줍니다.
- 파이썬 등 설치
sudo apt-get update && sudo apt-get install -y vim python3-pip curl git pip3 install --upgrade pip pip install docker-compose
- 도커설치
sudo curl -sSL get.docker.com | sh
그 다음 git clone 한 디렉토리로 바꿔주고 아래 명령어를 실행하면 배포를 시작한다. 최초 실행시 다운로드때문에 시간이 좀 오래 걸린다.
docker-compose up
그 뒤에 localhost:80에 접속하면 바로 사용할 수 있는 저지사이트로 접속된다. ID: root, Passwd: rootroot로 접속하면 관리자 페이지에도 접속할 수 있다.
이와 같은 방법으로도 저지사이트를 배포 가능하지만 실제 서비스 배포를 위해 사용하려면 프론트엔드 수정, https 인증서 발급, AWS 배포 등등 해야 할 것이 많다. 이와 관련해서는 다음 포스팅때 다루겠다.
'개발일지 > 개발일지' 카테고리의 다른 글
[Django] Redis로 API rate limit 해결하기 (0) 2021.07.04 나만의 온라인저지 사이트 만들기 - 3 (0) 2021.07.03 나만의 온라인저지 사이트 만들기 - 2 (2) 2021.06.28 AWS ec2 프리티어 t2.micro 인스턴스 다운문제 해결 (0) 2021.06.25