환경은 ubuntu 18.04를 사용
1.아파치 다운로드
1. apt 업데이트 및 아파치2 다운로드
sudo apt-get update && sudo apt-get install apache2
2. 파이썬3 다운에 필요한 파일 설치
sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
cd /opt
2-1 파이썬3 다운 및 압축 풀기
//버전 확인 중요
sudo wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
sudo tar xzf Python-3.8.6.tgz
cd Python-3.8.6
2-2 configure 설정 및 make
sudo ./configure --enable-optimizations
sudo make altinstall
2-3 버전 확인
python3.8 -V
2-4 파이썬 3.8 디폴트 인터프리터 설정
여기서 설정하는 인터프리터가 제일 중요하다.
추후 모듈을 import 할때 모듈을 찾을 수 없다는 오류는 거의 이 과정에서 발생한다.
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.8 1
#변경 된 것 확인
python -V
# 경로 모를시 아래 명령어로 확인
whereis python3
3 wsig 다운
sudo apt-get install libapache2-mod-wsgi-py3 python3-dev
4 flask 다운로드
#flask 다운을 위한 pip 설치
sudo apt-get install python3-pip
sudo pip3 install flask
#gcp sdk 설치
sudo pip3 install --upgrade google-cloud-storage
5. 디렉토리 생성
5. 디렉토리 생성
sudo mkdir var/www/FLASKAPPS
6. apache2 와 Flask 연동
sudo vim /etc/apache2/sites-available/flask.conf
<VirtualHost *:80>
ServerName localhost
WSGIDaemonProcess app threads=5
WSGIScriptAlias / /var/www/FLASKAPPS/run.wsgi
DocumentRoot /var/www/FLASKAPPS
<Directory /var/www/FLASKAPPS>
WSGIProcessGroup app
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
ErrorLog /var/www/FLASKAPPS/logs/error.log
LogLevel warn
CustomLog /var/www/FLASKAPPS/logs/access.log combined
</VirtualHost>
#웹서버의 기본 설정을 새로 생성한 flask.conf로 변경
sudo a2dissite 000-default
sudo a2ensite flask.conf
7. wsgi 파일 작성
sudo vim /var/www/FLASKAPPS/run.wsgi
import sys
sys.path.append("/var/www/FLASKAPPS")
from flaskapp import app as application
8. py 파일 작성
sudo vim /var/www/FLASKAPPS/flaskapp.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
9. 아파치 재시작
#재시작
sudo /etc/init.d/apache2 restart
or
sudo service apache2 restart
#중지
sudo /etc/init.d/apache2 stop
#시작
sudo /etc/init.d/apache2 start
10. 확인
참고 사이트 ahniverson.tistory.com/7
'Python' 카테고리의 다른 글
python - TypeError: 'dict' object is not callable 해결법 (0) | 2020.11.13 |
---|---|
python - from PIL import Image Error 에러 해결법 (1) | 2020.11.13 |
python - Flask (0) | 2020.11.01 |
python - Flask를 이용한 API 만들기 (feat.naverAPI) (0) | 2020.11.01 |
python - flask API Type Error (0) | 2020.11.01 |