-
Ubuntu 18.04 Django Python ๋ฒ์ ๋ณ๊ฒฝํ๊ธฐServer 2022. 6. 2. 17:23๋ฐ์ํ
๐ ์ค์๋ฒ์ python ๋ฒ์ ์ ๋ณ๊ฒฝํ ์ผ์ด ์๊ฒผ๋ค.
๊ฐ์ฅ ํฐ ์ด์ ๋ python3.5 ๋ฒ์ ์ django-redis library ์ fstring ๋ฏธ์ง์. ๊ทธ๋์ python3.8๋ก ๋ฒ์ ๋ณ๊ฒฝ์ ํ๊ธฐ๋ก ํ๋ค.
์ค๋ฅ์์ด ๋ฌด์ค๋จ์ผ๋ก ๊ต์ฒด๋ฅผ ํ๊ธฐ์ํด
- ์ค์๋ฒ์ AMI ์์ฑ
- ์์ฑํ AMI๋ฅผ ์์ํ์ฌ ์์
- ๋ฒ์ ๋ณ๊ฒฝ ์๋ฃ ํ ELB target group ๋ณ๊ฒฝ
์ ์์๋ก ์งํํ๊ธฐ๋ก ํ๋ค.
์ผ๋จ ์๋ฒ์ python3.8 ๋ฒ์ ์ด ์๊ธฐ์ ์ค์น๋ถํฐ ํด์ค์ผํ๋ค.
sudo apt install python3.8
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด์ python3.5 excute somthing ๊ณผ ๊ฐ์ด ๋ฒ์ ์ ๋ช ์ํ ์ปค๋งจ๋๊ฐ ์๋ python excute something ๊ณผ ๊ฐ์ด default python ๋ฒ์ ์ผ๋ก ์คํ๋๋ ์คํฌ๋ฆฝํธ์ ํน์ ๋ชจ๋ฅผ ๋ฒ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด ubuntu ๋ํดํธ python ๋ฒ์ ์ python3.8๋ก ๊ต์ฒดํ๋ค.
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 100
๋ง์ง๋ง์ 100์ ํด๋น ์ซ์๊ฐ ํด ์๋ก ํด๋น ๋ฒ์ ์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ค๋ ๋๋์ด๊ณ 100์ผ๋ก ์ค์ ํ๋ค๋ฉด 1,2,3,13,14 ๋ฑ์ ์ซ์๋ณด๋ค ํฌ๊ธฐ์ ์ฐ์ ์์๊ฐ ๋ ๊ฑฐ๋ค. ํด๋น ์๋ฒ์๋ 100 ์ด์์ alternatives๊ฐ ์กด์ฌํ์ง ์์ ์ด์ python ์ ์ ๋ ฅํ๋ฉด python3.8 ๋ก ์คํ๋๋ค. ๋ฌผ๋ก ๊ฐ์ํ๊ฒฝ์์ ์คํ๋๊ธฐ์ ๋ฒ์ ์ด ์ถฉ๋ํ ์ผ์ด์ค๊ฐ ์๊ธฐ๋ฉด ์๋์ง๋ง ํน์ ๋ชจ๋ฅด๋ ์ค์ .
sudo apt install python3.8-distutils
์ดํ pip ์ค์น๋ฅผ ์ํด ํ์ํ ํจํค์ง๋ค. ์ค์นํด๋์.
pip์๋ ๋ฒ์ ์ด ์๊ธฐ์ ์ ๊ฒฝ์จ์ค์ผ ํ๋ค. ์๋ก์ด ๊ฐ์ํ๊ฒฝ์ ์์ฑํ์ง๋ง pip์ ๋ณ๋๋ก ์ค์นํ๊ธฐ ์ํด ์ต์ ์ ๋ถ์ฌํ์ฌ ๊ฐ์ํ๊ฒฝ์ ์์ฑํ๊ณ ์คํ์ํค์.python -m venv venv_3.8 --without-pip source venv_3.8/bin/activate
์ด์ ํด๋น ๋ฒ์ ์ ๋ง๋ pip์ ์ค์นํด๋ณด์
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py
์ด์ ๊ฐ์ํ๊ฒฝ ๋ด๋ถ์์์ pip์ pip3.8๋ก ์คํ๋๋ค. ํน์ pip์ด ๊ตฌ๋ฒ์ ์ผ๋ก ์๋ํ๋ค๋ฉด ๋ฒ์ ์ ๋ช ์ํ์ฌ pip์ ์ฌ์ฉํด๋ณด์
pip3.8 install -r requirements.txt or pip install -r requirements.txt
์ฐ๋ฆฌ๋ Apache2๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ apache ๋ django์ wsgi.py ๋ฅผ ๋ฐ๋ผ๋ณธ๋ค. ๊ทธ๋ ๊ธฐ์ ๋ช๊ฐ์ง ์ค์ ์ ํด์ฃผ์ด์ผ ํ๋๋ฐ
project/wsgi.py ์ venv ๋๋ ํ ๋ฆฌ๋ฅผ ์๋ก ์์ฑํ venv_3.8 ๋ก ๋ณ๊ฒฝ /etc/apache2/apache2.conf์ venv path ๋ณ๊ฒฝ
๊ฑฐ์ ๋ค ๋๋ฌ์ง๋ง ํ ๊ฐ์ง๊ฐ ๋ ํ์ํ๋ค. ๊ธฐ์กด์๋ python webserver ์คํ์ ์ํ mod_wsgi๊ฐ ๊ธฐ์กด python ๋ฒ์ ์ผ๋ก ์ปดํ์ผ ๋์ด์๋ค. ์ด๋ฅผ 3.8๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝํด ์ฃผ์ด์ผํ๋ค. ์ด๋ฅผ ์ํ ํจํค์ง๋ฅผ ์ค์นํด๋ณด์
sudo apt-get install apache2-dev sudo apt-get install python3.8-dev
mod_wsgi ๋ฅผ ์ปดํ์ผ ํ ์ ์๋ ํจํค์ง๋ฅผ ์ค์นํ๊ณ ์์ถํด์ ํด๋ณด์.
wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.7.1.tar.gz tar xvfz 4.7.1.tar.gz
์์ถํด์ ํ ๋๋ ํ ๋ฆฌ์ ๋ค์ด๊ฐ์ python ๋ฒ์ ์ ์ค์ ํด์ฃผ์.
cd mod_wsgi-4.7.1 ./configure --with-python=/usr/bin/python3.8
์ปดํ์ผ ํด์ค๋ค.
make sudo make install
์ด์ apache ์๋น์ค๋ฅผ ์ฌ์์ ํด์ฃผ์. ์๋์ง ์๋๋ค๋ฉด ๊ด๋ จ ๋ก๊ทธ๋ค์ ๊ผผ๊ผผํ ์ดํด ๊ธฐ์กด ๋ฒ์ ์ python์ด ์คํ๋๋ ๊ฒ์ ์๋์ง ํ์ธํ๊ณ ๋ค์ ํ๋ก์ธ์ค๋ฅผ ์งํํด์ฃผ์.
์ถ๊ฐ๋ก ๊ถํ ๋ฌธ์ ๋ก ์๊ธฐ ๋ช ๋ น์ด๋ค์ด ์คํ๋์ง ์์ sudo๋ฅผ ์ฌ์ฉํ ๋๋ ์ฃผ์ํด์ฃผ์. pip ๊ด๋ จํด์ ๋์ค์ ์ฌ๊ฐํ๊ฒ ๊ผฌ์ผ ์๊ฐ ์๋ค.
์ด์ ๊ธฐ์กด ๋ก๋๋ฐธ๋ฐ์ค์ ํ๊ฒ๊ทธ๋ฃน์ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ๋ฑ๋ก, ๊ธฐ์กด์ ์๋ ์ธ์คํด์ค๋ฅผ ์ญ์ ํด์ฃผ๋ฉด ๋๋ค.
๐๐๐๋ฐ์ํ'Server' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
django-redis ํจํค์ง ์ปค์คํ ํ๊ธฐ (0) 2023.02.10 Django ๋ฒ์ ์ ์์กดํ๋ Referrer policy ๊ด๋ จ ์ด์ (0) 2022.06.03 nginx๋ก ์ ์์ ์ธ ๋ฐ๋ณต ์์ฒญ ๋ฐฉ์งํ๊ธฐ (0) 2022.06.03