๐ ๊ฐ์
AWS EC2๋ฅผ ์ด์ฉํด ๋ฐฐํฌ๋ฅผ ํด๋ณด๊ณ ์ถ์ ์๊ฐ์ด ๋ค์๋ค. ๊ทธ๋์ ์ ์ผ ๋จผ์ ๋ค์๊ณผ ๊ฐ์ด ํ๋ค.
- ํ๋ฆฌํฐ์ด๋ก EC2 ubuntu 20.04 ๋ก ์ธ์คํด์ค ์์ฑํ๊ณ pem ํค ๋ฐ๊ธ
- ~/.ssh ํด๋ ๋ฅผ ๋ง๋ค๊ณ , key๋ฅผ ์์ผ๋ก ์ฎ๊ฒจ์
chmod 400 (key์ด๋ฆ).pem
ํssh -i ubuntu@ํผ๋ธ๋ฆญ์ฃผ์ .ssh/(key์ด๋ฆ).pem
- ubuntu ํ๊ฒฝ์ผ๋ก ๋ค์ด์์ ์ฌ์ฉ์ ์ํธ ๋ถ์ฌ๋ฅผ ํ๋ผํด์
sudo passwd
๋จผ์ ํด์ ์ํธ๋ถํฐ ์ค์
์ดํ๋ก๋ ๋ญ๋ถํฐ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ๋ค... python3 -V
ํ ๊ฒฐ๊ณผ python 3.8 ์ด์๋ค. ๋ 3.7.9 ์ฐ๋๋ฐ,,, ํ์ด์ฌ ๋ฒ์ ๋ถํฐ ๋ฐ๊ฟ๋ณด๊ธฐ๋ก ํ๋ค.
(์ฌ์ค ๋ค์์ ํ ๋ ๊ฒ์ํด์ ์์๋์ ๊ฒ๋ค ๊น๋จน์๊น๋ด ๊ธฐ๋กํ๋ค ๐)
๐ ์ค์น
๋๋ EC2 ubuntu 20.04 ์ด๊ณ , bash๋ฅผ ์ฌ์ฉํ๋ค.
1๏ธโฃ ์ ์ผ ๋จผ์ pyenv๋ฅผ ๋ค์ด ๋ฐ๊ธฐ ์ ์ ํจํค์ง ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธ ํ๋ค.
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install python3-pip
2๏ธโฃ pyenv๋ฅผ ์ค์นํ๊ธฐ ์ ์ requirements ์ค์น๋ฅผ ํ๊ณ git ์ผ๋ก pyenv ์ค์นํ๋ค.
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
3๏ธโฃ ๊ทธ๋ฆฌ๊ณ shell ์ค์ ํ์ผ์ ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํด์ค๋ค.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
eval "$(pyenv init -)"
# ๋๋ shell config file์ ๋ฑ๋ก
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
4๏ธโฃ ๊ทธ ๋ค์, ์ค์ ์ฌํญ์ ์ ์ฉ์ํค๊ธฐ ์ํด exec "$SHELL"
๋ช
๋ น์ด๋ฅผ ํตํด shell์ restart ํด์ค๋ค.
5๏ธโฃ ๋ง์ง๋ง! ๊ธฐ๋ค๋ฆฌ๋ ํ์ด์ฌ ์ค์น.
# ์ค์น๊ฐ๋ฅ ๋ฒ์ ํ์ธ
pyenv install --list
# 3.7.9 ๋ฒ์ ์ค์น
pyenv install 3.7.9
# ์ค์น๋ ๋ฒ์ ํ์ธ
pyenv versions
# ๊ฒฐ๊ณผ
* system
3.7.9
# pyenv global 3.7.9
# ๊ฒฐ๊ณผ
system
* 3.7.9
๐ ๋ง๋ฌด๋ฆฌ
์์์ด ๋ฐ์ด๋ผ๊ณ ์ด์ ๋ฒ์จ ๋ฐ ์ ๋ ํ ๊ฒ ๊ฐ์ด ํ๋ค๋ค.. ์์ผ๋ก django nginx gunicorn ์ ์ด์ฉํ ๋ฐฐํฌ๋ฅผ ๊ผญ ์ฑ๊ณต์์ผ๋ณด์..๐ฅ