aws의 ec2로 서버를 운영하는게 비용이 든다는 사실을 알고 있었지만, 사용자가 없다보니 더 크게 느껴졌다. 그래서 나는 집에서 놀고있고 항상 켜져있는 PC를 이용해서 ec2대신 서버를 운영할 생각이다.
먼저 Window Terminal + WSL + Ubuntu + Docker 설치 조합으로 진행할 것이다. 이를 통해 이전의 ec2 환경처럼 우분투 서버 명령어로 서버를 설정할 수 있다. 이 위에 docker를 통해 mariadb를 배포하고, 백엔드 서버는 해당 db를 바라보도록 수정하면 된다.
먼저 Windows Ternimal를 설치해 보자.

마이크로소프트 스토어에서 다운로드한다.
Windows Terminal은 기본적으로 Windows PowerShell로 실행된다.
다음으로 WSL와 Ubuntu를 설치해 보자.
WSL == Windows Subsystem for Linux
WSL2를 설치해 보자.
Window 10의 20H1 이상 버전에서 가능하다고 한다.
윈도우키 + s 를 통해 검색창을 열고,
터미널 or PowerShell을 검색 후 관리자 권한으로 실행한다.
아래 명령어를 실행시켜 WSL 기능 활성화시켜준다.
// Microsoft-Windows-Subsystem-Linux 기능 활성화
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
// VirtualMachinePlatform 기능 활성화
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

그리고 WSL 설치 과정을 진행한다.
터미널상에서 wsl --install 명령어만 쳐주면 되는듯하다.
WSL 설치
wsl --install 명령을 사용하여 Linux용 Windows 하위 시스템을 설치합니다. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine 등 원하는 Linux 배포판에서 실행되는 Windows 머신에서 Bash 터미널을 사용할 수 있습니
learn.microsoft.com
그리고 최신 WSL2 Linux 커널 업데이트 패키지를 다운로드해 설치하자.
이전 버전의 WSL에 대한 수동 설치 단계
wsl install 명령을 사용하는 대신 이전 버전의 Windows에 WSL을 수동으로 설치하는 단계별 지침입니다.
learn.microsoft.com

아래의 명령어로 WSL 버전을 2로 변경한다.
> wsl --set-default-version 2
이것으로 WSL2 설치까지 완료이다.
다음으로 Ubuntu를 설치하자
터미널 설치와 마찬가지로 Window Store를 이용한다.

윈도우키 + s 를 통해 ubuntu를 검색, 실행한다.
처음 ubuntu를 실행시키면 자동으로 설치가 되는데,
설치가 완료되면 user name과 password를 입력해야 한다.
이것으로 WSL2와 Ubuntu설치가 완료됐다.
터미널을 다시 실행시켜 우분투 실행 상태와 버전을 확인하자.
> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
*은 디폴트 머신을 의미하고, 2는 WSL의 버전을 의미한다.

상단의 드롭박스를 통해 Ubuntu를 바로 실행시킬 수 있다.
다음으로 도커를 설치한다.
//Ubuntu 및 Debian 기반 배포판의 압축 버전은 다음과 같습니다.
// Install Docker, you can ignore the warning from Docker about using WSL
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
// Add your user to the Docker group
sudo usermod -aG docker $USER
// Install Docker Compose v2
sudo apt-get update && sudo apt-get install docker-compose-plugin
// Sanity check that both tools were installed successfully
docker --version
docker compose version
// 우분투 버전 확인
lsb_release -a
// Using Ubuntu 22.04 or Debian 10 / 11? You need to do 1 extra step for iptables
// compatibility, you'll want to choose option (1) from the prompt to use iptables-legacy.
sudo update-alternatives --config iptables
Docker가 실행되고 있지 않으면 자동 실행시켜주도록 하자
//이 게시물 작성 시점에 systemd는 기본적으로 WSL 2 내부에서 실행되지 않습니다. 필요하지 않습니다.
//이것을 .zprofile 또는 이에 상응하는 파일 ~/.profile에 드롭하기만 하면 됩니다.
if grep -q "microsoft" /proc/version > /dev/null 2>&1; then
if service docker status 2>&1 | grep -q "is not running"; then
wsl.exe --distribution "${WSL_DISTRO_NAME}" --user root \
--exec /usr/sbin/service docker start > /dev/null 2>&1
fi
fi
이후 sudo docker ps 등 명령어를 실행하면 도커가 동작하고 있음을 알 수 있다. 아니라면 터미널을 종료했다가 다시켜보자.
'Web' 카테고리의 다른 글
| AWS EC2 -> 온프레미스 전환 (3) - ssh 설치 (0) | 2025.04.11 |
|---|---|
| AWS EC2 -> 온프레미스 전환 (2) - 포트포워딩 (0) | 2025.04.11 |
| TSL적용 with Nginx (0) | 2025.04.09 |
| 브랜치 전략 (0) | 2025.04.08 |
| Nextjs + GitHub Actions 으로 CI/CD 적용하기 (0) | 2025.04.07 |