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 설치 및 설정
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 - Godaddy - 도메인 연결
ec2 시간대 변경

More Related Content

What's hot

AWS Black Belt Techシリーズ Amazon Workspaces
AWS Black Belt Techシリーズ  Amazon WorkspacesAWS Black Belt Techシリーズ  Amazon Workspaces
AWS Black Belt Techシリーズ Amazon Workspaces
Amazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SESAWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SES
Amazon Web Services Japan
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
Knoldus Inc.
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
Amazon Web Services Japan
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
Amazon Web Services Korea
 
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Amazon Web Services
 
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
 
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
Amazon Web Services Korea
 
戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させよう戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させよう
Yuki Hattori
 
[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス
[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス
[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンスAmazon Web Services Japan
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCacheUnleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache
Amazon Web Services
 
CICS TS V5 Technical Overview
CICS TS V5 Technical OverviewCICS TS V5 Technical Overview
CICS TS V5 Technical Overview
SAFowlkes
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
Amazon Web Services Japan
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)
Akio Katayama
 
IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교
JungWoon Lee
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
Yashar Esmaildokht
 
mruby VM を調べてみた話
mruby VM を調べてみた話mruby VM を調べてみた話
mruby VM を調べてみた話
kishima7
 
AWS Black Belt Techシリーズ Amazon Route53
AWS Black Belt Techシリーズ Amazon Route53AWS Black Belt Techシリーズ Amazon Route53
AWS Black Belt Techシリーズ Amazon Route53
Amazon Web Services Japan
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
真乙 九龍
 

What's hot (20)

AWS Black Belt Techシリーズ Amazon Workspaces
AWS Black Belt Techシリーズ  Amazon WorkspacesAWS Black Belt Techシリーズ  Amazon Workspaces
AWS Black Belt Techシリーズ Amazon Workspaces
 
AWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SESAWS Black Belt Tech シリーズ 2016 - Amazon SES
AWS Black Belt Tech シリーズ 2016 - Amazon SES
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
 
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
Speed and Reliability at Any Scale: Amazon SQS and Database Services (SVC206)...
 
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ(CloudNative Days Tokyo 2021 発表資料)
 
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
AWS 클라우드 기반 확장성 높은 천만 사용자 웹 서비스 만들기 - 윤석찬
 
戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させよう戦う情シス!全社 API で社内アプリ開発を加速させよう
戦う情シス!全社 API で社内アプリ開発を加速させよう
 
[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス
[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス
[AWSマイスターシリーズ] リザーブドインスタンス&スポットインスタンス
 
Unleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCacheUnleash the Power of Redis with Amazon ElastiCache
Unleash the Power of Redis with Amazon ElastiCache
 
CICS TS V5 Technical Overview
CICS TS V5 Technical OverviewCICS TS V5 Technical Overview
CICS TS V5 Technical Overview
 
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)
 
IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교IBM JVM 소개 - Oracle JVM 과 비교
IBM JVM 소개 - Oracle JVM 과 비교
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
 
WebSphere MQ introduction
WebSphere MQ introductionWebSphere MQ introduction
WebSphere MQ introduction
 
mruby VM を調べてみた話
mruby VM を調べてみた話mruby VM を調べてみた話
mruby VM を調べてみた話
 
AWS Black Belt Techシリーズ Amazon Route53
AWS Black Belt Techシリーズ Amazon Route53AWS Black Belt Techシリーズ Amazon Route53
AWS Black Belt Techシリーズ Amazon Route53
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
 

Similar to AWS EC2 flask_uwsgi_nginx install guide korean

초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정
Seonghun Kang
 
Internship backend
Internship backendInternship backend
Internship backend
Yein Sim
 
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
Jay Park
 
Node.js intro
Node.js introNode.js intro
Node.js intro
Chul Ju Hong
 
Virtual Development Environment Setting
Virtual Development Environment SettingVirtual Development Environment Setting
Virtual Development Environment Setting
Kwangyoun Jung
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
Steve Shim
 
[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd
Park Jonggun
 
Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정
leejungwang
 
postgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfpostgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdf
Lee Dong Wook
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
wonyong hwang
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Jaehoon Kim
 
OpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudOpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid Cloud
Dennis Hong
 
AWS + Docker in Vingle
AWS + Docker in VingleAWS + Docker in Vingle
AWS + Docker in Vingle
Derrick Hwechul Cho
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
Jude Kim
 
빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android
Sangkyoon Nam
 
03.Ansible 소개
03.Ansible 소개03.Ansible 소개
03.Ansible 소개
Opennaru, inc.
 
왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법
GeunCheolYeom
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온
재현 신
 
Node.js Cloud Service Publish
Node.js Cloud Service PublishNode.js Cloud Service Publish
Node.js Cloud Service Publish
Hyun Jin Moon
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
JEEHYUN PAIK
 

Similar to AWS EC2 flask_uwsgi_nginx install guide korean (20)

초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정초보자를 위한 AWS EC2, RDS 설정
초보자를 위한 AWS EC2, RDS 설정
 
Internship backend
Internship backendInternship backend
Internship backend
 
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
(OCI 탐험일지) nginx 설치(오라클 리눅스 7)
 
Node.js intro
Node.js introNode.js intro
Node.js intro
 
Virtual Development Environment Setting
Virtual Development Environment SettingVirtual Development Environment Setting
Virtual Development Environment Setting
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd
 
Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정
 
postgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdfpostgres_빌드_및_디버깅.pdf
postgres_빌드_및_디버깅.pdf
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축Windows에서 go+eclipse 개발환경 구축
Windows에서 go+eclipse 개발환경 구축
 
OpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid CloudOpenStack Horizon AWS Plugin For Hybrid Cloud
OpenStack Horizon AWS Plugin For Hybrid Cloud
 
AWS + Docker in Vingle
AWS + Docker in VingleAWS + Docker in Vingle
AWS + Docker in Vingle
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android빠르고 지속적으로 전달하기: Continuous Delivery for Android
빠르고 지속적으로 전달하기: Continuous Delivery for Android
 
03.Ansible 소개
03.Ansible 소개03.Ansible 소개
03.Ansible 소개
 
왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법왕초보를 위한 도커 사용법
왕초보를 위한 도커 사용법
 
Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온Aws 커뮤니티데이 APM 헨즈온
Aws 커뮤니티데이 APM 헨즈온
 
Node.js Cloud Service Publish
Node.js Cloud Service PublishNode.js Cloud Service Publish
Node.js Cloud Service Publish
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 

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 설치 및 설정
  • 13.
  • 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 git@github.com:UrangUrang/Sharable.git
  • 26.
  • 27. AWS - Godaddy - 도메인 연결
  • 28.
  • 29.
  • 30.