EC2 인스턴스 및 Python 환경 설정
EC2 설정부터 Pyenv로 Python 환경 구축까지
EC2 인스턴스 초기 설정부터 Pyenv로 Python 개발 환경 구축 핵심 가이드.
-
EC2 기본 설정:
- 키페어
.pem권한chmod 400. - 보안 그룹 인바운드 SSH (22번) 허용.
- 고정 IP는 Elastic IP 생성 후 인스턴스 연결.
- SSH 접속:
bash ssh -i your-key.pem ubuntu@EC2-IP
- 키페어
-
Pyenv Python 환경:
- 빌드 필수 패키지 설치:
bash sudo apt update sudo apt install -y make build-essential libssl-dev #...등 - Pyenv 설치 및 쉘 설정:
bash curl https://pyenv.run | bash # .bashrc에 PATH/eval 설정 후 source ~/.bashrc - Python 버전 설치/설정:
bash pyenv install 3.10.12 pyenv global 3.10.12 - 가상 환경:
bash pyenv virtualenv 3.10.12 myenv pyenv activate myenv
- 빌드 필수 패키지 설치:
여기서 배울 것
- EC2 인스턴스 기본 설정 (SSH, 보안 그룹)
- Elastic IP 할당 및 적용
- Pyenv를 이용한 Python 버전 관리
- Pyenv 가상 환경 생성 및 활용
원본 파일 보기 (.claude/skills/tn-ec2-setup/SKILL.md)
---
name: EC2 인스턴스 및 Python 환경 설정
description: This skill should be used when the user asks to set up a new AWS EC2 instance from scratch, including SSH connection, Elastic IP configuration, and a Python development environment using Pyenv.
version: 1.0.0
source: /home/son/prj/resume/backup_notes_260317/notion/Tech Note/EC2 Setup from scratch 165d7efd824b80b6bf50de1e0247ed8e.md
---
# EC2 Setup from scratch
Launch EC2 ubuntu

Keypair

SSH connect

1. chmod 400
2. security group setup (inbound- port 22 - all)


3. connect
connect with filezilla

move files
Elastic IP

Create Elastic IP and allocate it
modify security group setting

setup basic things
Python (Pyenv)
### 1. **필수 패키지 설치**
먼저 Python을 빌드하는 데 필요한 패키지를 설치합니다.
```bash
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \
liblzma-dev python3-openssl git
```
---
### 2. **pyenv 설치**
1. **pyenv 설치 스크립트 실행**:
```bash
curl https://pyenv.run | bash
```
2. **쉘 환경 설정 업데이트**:
설치 후 pyenv를 사용하려면 `.bashrc` 또는 `.zshrc` 파일에 다음을 추가합니다.
```bash
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
```
파일을 저장한 후 쉘을 다시 시작하거나 다음 명령어로 변경 사항을 적용하세요:
```bash
source ~/.bashrc
```
3. **pyenv 설치 확인**:
```bash
bash
Copy code
pyenv --version
```
---
### 3. **Python 버전 설치**
1. **사용 가능한 Python 버전 확인**:
```bash
bash
Copy code
pyenv install --list
```
2. **특정 버전 설치**:
원하는 Python 버전을 설치합니다.
```bash
bash
Copy code
pyenv install 3.10.12
```
3. **설치된 버전 확인**:
```bash
bash
Copy code
pyenv versions
```
---
### 4. **Python 버전 설정**
1. **글로벌(기본) 버전 설정**:
시스템에서 기본으로 사용할 Python 버전을 설정합니다.
```bash
bash
Copy codepyenv global 3.10.12
```
2. **로컬 버전 설정**:
특정 디렉토리에서만 사용할 Python 버전을 설정합니다.
```bash
bash
Copy code
pyenv local 3.10.12
```
3. **임시 버전 설정**:
현재 쉘 세션에서만 사용할 버전을 설정합니다.
```bash
bash
Copy code
pyenv shell 3.10.12
```
4. **적용된 버전 확인**:
```bash
bash
Copy code
python --version
```
---
### 5. **가상 환경 관리 (선택 사항)**
pyenv와 함께 pyenv-virtualenv를 사용하면 가상 환경도 쉽게 관리할 수 있습니다.
1. **가상 환경 생성**:
```bash
bash
Copy code
pyenv virtualenv 3.10.12 myenv
```
2. **가상 환경 활성화**:
```bash
bash
Copy code
pyenv activate myenv
```
3. **가상 환경 비활성화**:
```bash
bash
Copy code
pyenv deactivate
```
4. **가상 환경 삭제**:
```bash
bash
Copy code
pyenv uninstall myenv
```
---
### 6. **문제 해결**
1. **빌드 실패 시**:
Python 빌드에 필요한 패키지가 누락되었을 수 있으니, 1단계에서 모든 필수 패키지가 설치되었는지 다시 확인하세요.
2. **PATH 문제**:
pyenv가 제대로 작동하지 않으면 환경 변수 설정이 올바른지 확인하세요:
```bash
bash
Copy code
echo $PATH
```
**Nodejs(NVM)**
After Installing

check it’s running
Setup Nginx
Nginx reroute
server_name이 중복되면 안되므로