Philogrammer

flask

Amazon AWS 에 ec2 계정을 만듭니다.

Ubuntu 16.04 환경을 만든 후

터미널에서 접속합니다.


ssh -v -i /Key/amazon.pem ubuntu@13.124.106.46

아무것도 안깔려있는 상태이기 때문에

파이선과 플라스크 그리고 웹 배포를 위한 apache, wsgi 를 설치합니다.


sudo apt-get install libapache2-mod-wsgi python-dev
sudo pip install flask
sudo apt-get install python-pip

샘플로 플라스크 앱을 만들어 봅니다.

/var/www/ 폴터에 Flask 라는 폴더를 새로 만들고

그 안에 샘플 코드를 넣습니다.

필수적인 샘플 코드는 다음과 같습니다.

Flaskapp.wsgi


#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/Flask/")

from Flask import app as application
application.secret_key = 'mysecret'

## Traceback (most recent call last):
##   File "<string>", line 8, in <module>
## ImportError: No module named Flask

init.py


from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello, Welcome to Lopes!"
if __name__ == "__main__":
    app.run()
    
    

@app.route('/input/<input_str>')
def count_me(input_str):
    return input_str

## Traceback (most recent call last):
##   File "<string>", line 2, in <module>
## ImportError: No module named flask

웹서버에 배포하려면

host 설정과, apache wsgi 설정을 반영해야 합니다.

/etc/hosts

/etc/apache2/sites-available

에 들어가 default 파일을 수정해줍니다.

/etc/hosts


13.124.106.46	FlaskApp


/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
        ServerName FlaskApp
        ServerAdmin admin@yourdomain.com
        WSGIScriptAlias / /var/www/Flask/flaskapp.wsgi
        <Directory /var/www/Flask/Flask/>
            Order allow,deny
            Allow from all
        </Directory>
        Alias /static /var/www/Flask/Flask/static
        <Directory /var/www/Flask/Flask/static/>
            Order allow,deny
            Allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

설정 완료 후


sudo /etc/init.d/apache2 reload

를 입력하여 서버를 재시작 하면 배포가 완료됩니다.

사이트 사용법

샘플 주소

http://13.124.106.46/

를 입력하면 인삿말이 출력되며

http://13.124.106.46/input/

http://13.124.106.46/input/philogrammer.com

뒤에 사이트 주소를 입력하면 사이트 주소가 출력 됩니다.


Share this: