6. 처음 경로로 되돌아와서 virtualenv aws-flask-env 로 가상환경
을 만들어 준다.
실행하는 방법은 source aws-flask-env/bin/activate
실행 후 pip list를 확인해보니 pip, setupools 두 개 밖에 없다.
이제 필요한 것들을 설치하러 가보자
가상환경 (virtualenv) 구축
7. 1. pip install flask - 플라스크 설치
2. pip install uwsgi
실행 시 오류
For such a reason, to compile uWSGI you only need to have a c
compiler suite (gcc, clang...) and a python interpreter.
- 출처 http://uwsgi-docs.readthedocs.org/en/latest/BuildSystem.html -
build procedure MUST BE fast :
C 컴파일러를 쓰는 이유 - 공식문서 중 발췌
Flask, uwsgi, nginx, uwsgi 설치 및 설정
대략 읽어보니 uwsgi 사용하려면 gcc가 필요합니다.
8. GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)는 GNU 프로젝
트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러이다.
자유 소프트웨어 중에 가장 잘 알려진 것들 중 하나인 GCC는 원래 C만을 지원
했던 컴파일러로 이름도 "GNU C 컴파일러"였다. 이러한 까닭에 현재에도 GCC
는 GNU 컴파일러 모음의 일부인 GNU C 컴파일러(GNU C Compiler)의 줄임
말로 쓰이기도 한다. 그러나 나중에 C++, 자바, 포트란, 에이다 등 여러 언어를
컴파일할 수 있게 되면서, 현재의 이름으로 바뀌게 되었다.
- 출처 위키피디아 http://ko.wikipedia.org/wiki/GNU_%EC%BB%B4%ED
%8C%8C%EC%9D%BC%EB%9F%AC_%EB%AA%A8%EC%9D%8C- -
GNU 컴파일러 모음(GNU Compiler Collection, 줄여서 GCC)
Flask, uwsgi, nginx, uwsgi 설치 및 설정
9. Mac OS 에서는 gcc 따로 설치할 필요
없고,
Xcode를 설치하면 해결된다고 합니다
참고하세요~
ec2는 linux라 설치합니다~
$ sudo yum install gcc (devian 계열은 apt-get 명령어로)
$ pip install gcc (실패 pip로는 설치 안됩니다.)
그래서 yum 명령어(리눅스 설치 명령어) 를 사용하여 gcc를 설치하려했습니다.
yum, apt 등 여러 종류가 있습니다.
$ yum install gcc (권한 문제로 실패)
$ sudo yum install gcc (성공적)
$ pip install uwsgi (성공적)
uwsgi 설치 성공했습니다.
이제 nginx 설치하러 가겠습니다.
Flask, uwsgi, nginx, uwsgi 설치 및 설정
10. $ sudo yum install nginx
한방에 설치가 완료됩니다. 가볍게 y를 입력해주세요.
Flask, uwsgi, nginx, uwsgi 설치 및 설정
11. $ uwsgi
입력시 다음과 같은 화면이 나온다면 설치에 성공한 것
Flask, uwsgi, nginx, uwsgi 설치 및 설정
12. Nginx 실행방법은 간단하다.
$ sudo nginx
입력하고 아무런 반응이 없어 잘 돌아가는지 궁금하면
aws dashboard 들어가서 해당 instance의
public domain name server를 브라우저 주소창에 입력하면
다음과 같은 화면을 볼 수 있다.
Flask, uwsgi, nginx, uwsgi 설치 및 설정
13.
14. Nginx 멈추는 방법
$ sudo nginx -s stop
Flask, uwsgi, nginx, uwsgi 설치 및 설정
16. $ uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191
주목할 점
http -> socket
callable app
출처 :https://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html
$ uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191
그런데 매번 이런식으로 작성하기엔 귀찮으니 뒤에 내용을 담고 있는 파일을 만들기로 함.
현재 디렉토리에서
$ touch aws.ini —> ( aws.ini 라는 이름의 빈 파일 생성)
$ vi aws.ini —> (aws.ini 파일 수정)
Flask, uwsgi, nginx, uwsgi 설치 및 설정
17. chdir = 파일 경로 (확인하는 방법은 pwd 라고 치면 현재 경로 나옴)
chmod-socket = 666
callable = app (aws.py 안에 애플리케이션 이름을 뭐로 정의했는지에 따라 달라짐 ex. app.routing , app.run)
module = 폴더명
socket = /tmp/uwsgi.sock 으로 입력해주세요
virtualenv = 가상환경 경로 ( virtualenv 사용하지 않는 사람들은 입력안해야함)
Flask, uwsgi, nginx, uwsgi 설치 및 설정
<- aws.ini 파일입니다.
18. nginx 설정
경로이동
/etc/nginx
nginx.conf 파일 수정
in 터미널
$ cd /etc/nginx —> 경로 이동 ( change directory = cd)
$ vi nginx.conf —> nginx.conf 파일 수정 (vi editor = vi)
Flask, uwsgi, nginx, uwsgi 설치 및 설정
23. 그럼 이제 원래 작업하던 파일을 가져와서 올려보도록 하겠습니다.
(가상환경에서 vi 작업해서 올리기엔 불편하니...)
일단 작업물을 옮겨올 폴더를 하나 만들겠습니다.
mkdir = make directory (경로 만들기)
cd = chage directory (경로 이동)
$ sudo yum install git-core (리눅스 설치 명령어 yum을 사용합니다)
$ git ( git 호출, 그런데 아무런 반응이 없네요 설치가 안돼있나 보네요)
$ git init ( git 시작하는 명령어)