SlideShare a Scribd company logo
AWS EC2
flask, uwsgi, nginx
on Mac OS X
Urang
목차
• EC2 접속 방법
• 가상환경 (virtualenv) 구축
• Flask, uwsgi, nginx, uwsgi 설치 및 설정
• git-clone(github to ec2)
• 시간대변경(ec2 datetime)
EC2 접속 방법
Network & Security 탭 하단의
Key Pair에 들어갑니다
그리고 Create Key Pair 하시고
Connect 누르시면
chmod 400 xxx.pem
xxx.pem 파일 권한 변경해주신후
ssh -i xxx.pem ec2-user@ipaddress
복사합니다.
EC2 접속 방법
아까 복사한 ssh -i xxx.pem ec2-user@ip_address를
터미널에 붙여주시고 엔터누르시면
EC2 접속 끝!
가상환경 (virtualenv) 구축
처음 경로로 되돌아와서 virtualenv aws-flask-env 로 가상환경
을 만들어 준다.
실행하는 방법은 source aws-flask-env/bin/activate
실행 후 pip list를 확인해보니 pip, setupools 두 개 밖에 없다.
이제 필요한 것들을 설치하러 가보자
가상환경 (virtualenv) 구축
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가 필요합니다.
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 설치 및 설정
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 설치 및 설정
$ sudo yum install nginx
한방에 설치가 완료됩니다. 가볍게 y를 입력해주세요.
Flask, uwsgi, nginx, uwsgi 설치 및 설정
$ uwsgi
입력시 다음과 같은 화면이 나온다면 설치에 성공한 것
Flask, uwsgi, nginx, uwsgi 설치 및 설정
Nginx 실행방법은 간단하다.
$ sudo nginx
입력하고 아무런 반응이 없어 잘 돌아가는지 궁금하면
aws dashboard 들어가서 해당 instance의
public domain name server를 브라우저 주소창에 입력하면
다음과 같은 화면을 볼 수 있다.
Flask, uwsgi, nginx, uwsgi 설치 및 설정
AWS EC2 flask_uwsgi_nginx install guide korean
Nginx 멈추는 방법
$ sudo nginx -s stop
Flask, uwsgi, nginx, uwsgi 설치 및 설정
Flask, uwsgi, nginx, uwsgi 설치 및 설정
간단한 flask 실행 파일
만들었습니다.
$ 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 설치 및 설정
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 파일입니다.
nginx 설정
경로이동
/etc/nginx
nginx.conf 파일 수정
in 터미널
$ cd /etc/nginx —> 경로 이동 ( change directory = cd)
$ vi nginx.conf —> nginx.conf 파일 수정 (vi editor = vi)
Flask, uwsgi, nginx, uwsgi 설치 및 설정
Before
After
Flask, uwsgi, nginx, uwsgi 설치 및 설정
chmod = change mode 파일 or 폴더에 대한 권한 변경시 사용
Flask, uwsgi, nginx, uwsgi 설치 및 설정
Flask, uwsgi, nginx, uwsgi 설치 및 설정
추가로 콘솔창을 꺼도 서버가 계속 돌아가도록 하시려면
$ uwsgi aws.ini & (‘&’ 추가해주시면 됩니다)
그리고 control + d 누르면 ec2에서 로그아웃 됩니다.
잘나오네요 ㅎ
Git
그럼 이제 원래 작업하던 파일을 가져와서 올려보도록 하겠습니다.
(가상환경에서 vi 작업해서 올리기엔 불편하니...)
일단 작업물을 옮겨올 폴더를 하나 만들겠습니다.
mkdir = make directory (경로 만들기)
cd = chage directory (경로 이동)
$ sudo yum install git-core (리눅스 설치 명령어 yum을 사용합니다)
$ git ( git 호출, 그런데 아무런 반응이 없네요 설치가 안돼있나 보네요)
$ git init ( git 시작하는 명령어)
$ git
git을 입력하니 밑에 많은 명령어가 쏟아집니다.
$ git init —> ( git 시작)
$ ls -a 로 현재 경로내 파일 확인해보니 숨김 폴더로 .git이 만들어졌습니다.
$ git clone git@github.com:UrangUrang/Sharable.git
AWS EC2 flask_uwsgi_nginx install guide korean
AWS - Godaddy - 도메인 연결
AWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide korean
AWS EC2 flask_uwsgi_nginx install guide korean
ec2 시간대 변경

More Related Content

DOC
04 lingkungan bahasa (makalah perbaikan)
PPTX
Pedagogical uses of translation
PDF
[1주차] 알파 유저를 위한 AWS 스터디
PDF
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
PDF
천만 사용자를 위한 AWS 아키텍처 보안 모범 사례 (윤석찬, 테크에반젤리스트)
PDF
초보자를 위한 AWS EC2, RDS 설정
PDF
Internship backend
PDF
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
04 lingkungan bahasa (makalah perbaikan)
Pedagogical uses of translation
[1주차] 알파 유저를 위한 AWS 스터디
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
천만 사용자를 위한 AWS 아키텍처 보안 모범 사례 (윤석찬, 테크에반젤리스트)
초보자를 위한 AWS EC2, RDS 설정
Internship backend
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)

Similar to AWS EC2 flask_uwsgi_nginx install guide korean (20)

PDF
Node.js intro
PDF
Virtual Development Environment Setting
PPTX
Docker 사용가이드 public v0.1
PDF
[IoT] MAKE with Open H/W + Node.JS - 3rd
PPTX
Vue 뽀개기 1장 환경설정 및 spa설정
PDF
postgres_빌드_및_디버깅.pdf
PPTX
Deploying Hyperledger Fabric on Kubernetes.pptx
PPT
Windows에서 go+eclipse 개발환경 구축
PDF
OpenStack Horizon AWS Plugin For Hybrid Cloud
PDF
AWS + Docker in Vingle
 
PPTX
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
PPTX
빠르고 지속적으로 전달하기: Continuous Delivery for Android
PPTX
03.Ansible 소개
PDF
왕초보를 위한 도커 사용법
PDF
Aws 커뮤니티데이 APM 헨즈온
PPTX
Node.js Cloud Service Publish
PDF
Tensorflow service & Machine Learning
PPTX
Web assembly 맛보기
PDF
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
PDF
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
Node.js intro
Virtual Development Environment Setting
Docker 사용가이드 public v0.1
[IoT] MAKE with Open H/W + Node.JS - 3rd
Vue 뽀개기 1장 환경설정 및 spa설정
postgres_빌드_및_디버깅.pdf
Deploying Hyperledger Fabric on Kubernetes.pptx
Windows에서 go+eclipse 개발환경 구축
OpenStack Horizon AWS Plugin For Hybrid Cloud
AWS + Docker in Vingle
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
빠르고 지속적으로 전달하기: Continuous Delivery for Android
03.Ansible 소개
왕초보를 위한 도커 사용법
Aws 커뮤니티데이 APM 헨즈온
Node.js Cloud Service Publish
Tensorflow service & Machine Learning
Web assembly 맛보기
Udamp3 django apache-my_sql_python3_ubuntu14.04-v11
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
Ad

AWS EC2 flask_uwsgi_nginx install guide korean

  • 1. AWS EC2 flask, uwsgi, nginx on Mac OS X Urang
  • 2. 목차 • EC2 접속 방법 • 가상환경 (virtualenv) 구축 • Flask, uwsgi, nginx, uwsgi 설치 및 설정 • git-clone(github to ec2) • 시간대변경(ec2 datetime)
  • 3. EC2 접속 방법 Network & Security 탭 하단의 Key Pair에 들어갑니다 그리고 Create Key Pair 하시고 Connect 누르시면 chmod 400 xxx.pem xxx.pem 파일 권한 변경해주신후 ssh -i xxx.pem ec2-user@ipaddress 복사합니다.
  • 4. EC2 접속 방법 아까 복사한 ssh -i xxx.pem ec2-user@ip_address를 터미널에 붙여주시고 엔터누르시면 EC2 접속 끝!
  • 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 설치 및 설정
  • 14. Nginx 멈추는 방법 $ sudo nginx -s stop Flask, uwsgi, nginx, uwsgi 설치 및 설정
  • 15. Flask, uwsgi, nginx, uwsgi 설치 및 설정 간단한 flask 실행 파일 만들었습니다.
  • 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 설치 및 설정
  • 19. Before After Flask, uwsgi, nginx, uwsgi 설치 및 설정
  • 20. chmod = change mode 파일 or 폴더에 대한 권한 변경시 사용 Flask, uwsgi, nginx, uwsgi 설치 및 설정
  • 21. Flask, uwsgi, nginx, uwsgi 설치 및 설정 추가로 콘솔창을 꺼도 서버가 계속 돌아가도록 하시려면 $ uwsgi aws.ini & (‘&’ 추가해주시면 됩니다) 그리고 control + d 누르면 ec2에서 로그아웃 됩니다. 잘나오네요 ㅎ
  • 22. Git
  • 23. 그럼 이제 원래 작업하던 파일을 가져와서 올려보도록 하겠습니다. (가상환경에서 vi 작업해서 올리기엔 불편하니...) 일단 작업물을 옮겨올 폴더를 하나 만들겠습니다. mkdir = make directory (경로 만들기) cd = chage directory (경로 이동) $ sudo yum install git-core (리눅스 설치 명령어 yum을 사용합니다) $ git ( git 호출, 그런데 아무런 반응이 없네요 설치가 안돼있나 보네요) $ git init ( git 시작하는 명령어)
  • 24. $ git git을 입력하니 밑에 많은 명령어가 쏟아집니다.
  • 25. $ git init —> ( git 시작) $ ls -a 로 현재 경로내 파일 확인해보니 숨김 폴더로 .git이 만들어졌습니다. $ git clone [email protected]:UrangUrang/Sharable.git
  • 27. AWS - Godaddy - 도메인 연결