PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

[Brochure] KOR_TunA

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap01-C언어개요.pptx

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

PowerPoint 프레젠테이션

Secure Programming Lecture1 : Introduction

Django

PowerPoint 프레젠테이션

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

PowerPoint 프레젠테이션

Spring Boot

1217 WebTrafMon II

TTA Journal No.157_서체변경.indd

3장

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

PowerPoint 프레젠테이션

MySQL-Ch05

Microsoft Word - src.doc

웹사이트 운영, 이보다 쉬울 수 없다! Microsoft Azure를 이용한 웹사이트 구축

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Web Scraper in 30 Minutes 강철

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

슬라이드 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

PowerPoint 프레젠테이션

chapter1,2.doc

歯J PDF

Solaris Express Developer Edition

초보자를 위한 C++

BEef 사용법.pages

untitled

Apache2 + Tomcat 5 + JK2 를 사용한 로드밸런싱과 세션 복제 클러스터링 사이트 구축

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Relational Model

슬라이드 1

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

PowerPoint 프레젠테이션


을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

PowerPoint 프레젠테이션

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Assign an IP Address and Access the Video Stream - Installation Guide

게시판 스팸 실시간 차단 시스템

PowerPoint 프레젠테이션

Microsoft Word - 김완석.doc

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

untitled

PowerPoint Template

침입방지솔루션도입검토보고서

PowerPoint 프레젠테이션

Cloud Friendly System Architecture

Windows 8에서 BioStar 1 설치하기

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

1. 도구개요 STAF Testing 소개 각테스트대상분산환경에데몬을사용하여테스트대상프로그램을통해테스트를수행하고, 통합하며자동화하는 프레임워크 주요기능 테스트통합및자동화 카테고리 Testing 세부카테고리테스트설계및실행 커버리지 Test Integration / Aut

PowerPoint 프레젠테이션

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

LXR 설치 및 사용법.doc

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

RUCK2015_Gruter_public

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Microsoft Word - CPL-TR OM2M.doc


Interstage5 SOAP서비스 설정 가이드

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras


목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

2009년 상반기 사업계획

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

Week13

untitled

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Microsoft PowerPoint 자동설치시스템검증-V05-Baul.pptx

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

cam_IG.book

SIGIL 완벽입문

untitled

PowerPoint 프레젠테이션

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

소프트웨어 검증 및 설계

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

¿ÀǼҽº°¡À̵å1 -new

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

Portal_9iAS.ppt [읽기 전용]

APOGEE Insight_KR_Base_3P11

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Transcription:

공개 SW 솔루션설치 & 활용가이드 미들웨어 > WAS 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide

CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 7. FAQ 8. 용어정리

- 3-1. 개요 소개 WSGI 란 Web Server Gateway Interface 의약자로, 웹서버와웹어플리케이션이어떤방식으로통신하는가에관한인터페이스를의미, 이 WSGI 규격에맞춘코드를실행해주는프로그램이 uwsgi 임. 이외에 Gunicorn 같은프로그램또한 WSGI 규격웹애플리케이션을배포할때쓰임 주요기능 어플리케이션인터페이스 미들웨어인터페이스 대분류 미들웨어소분류 WAS 라이선스형태 GNU General Public License v2.0 with linking exception 사전설치솔루션 N/A 운영제제 Windows, Linux, Unix 버전 2.0.15 (March 30, 2017) 특징 환경변수를적절히변경하여대상 URL 에따라다른애플리케이션개체에요청을라우팅 동일한프로세스에서여러애플리케이션또는프레임워크를나란히실행할수있도록허용 네트워크를통해요청및응답을전달하여로드밸런싱및원격처리 XSLT 스타일을적용하는등의콘텐츠처리수행 보안취약점 N/A 개발회사 / 커뮤니티 Unbit 공식홈페이지 http://uwsgi-docs.readthedocs.io/en/latest/

- 4-2. 기능요약 웹서버게이트웨어인터페이스 (WSGI, Web Server Gateway Interface) 는웹서버와웹애플리케이션의인터페이스를위한파이썬 (Pytion) 프레임워크 WSGI 종류 : Bjoern, uwagi, mod_wsgi, Gunicorn Gunicorn: Unix용 Python WSGI HTTP Server 임 (ruby unicorn 프로젝트에서포크됨 ) uwsgi는 WSGI의한종류로호스팅서버를구축할수있는 Full Stack 지원 Django( 파이썬기반의웹프레임워크 ) 와호환성이좋음 uwsgi는타언어나플랫폼을다룰수있도록 Pluggable architecture 지원 ( 예 : C, C++ 지원 ) Plugin이많을수록프로젝트의규모가커질수있음 < 서비스아키텍처도식도 > 출처 : http://technerd.tistory.com/55

- 5-3. 실행환경 지원가능한플랫폼 / 시스템 지원가능한언어및플랫폼 기술 버젼 Linux 2.6/3.x FreeBSD NetBSD OpenBSD DragonFlyBSD Windows Cygwin Mac OSX Solaris >= 10 NexentaOS SmartOS OpenSolaris OpenIndiana OmniOS Debian/kFreeBSD GNU/Hurd Python 0.9.1 Stable, 100% uwsgi API support Lua 0.9.5 Stable, 60% uwsgi API support Perl 0.9.5 Stable, 60% uwsgi API support Ruby 0.9.7-dev Stable, 80% uwsgi API support Integrating uwsgi with Erlang 0.9.5 Stable, no uwsgi API support Running CGI scripts on uwsgi 1.0-dev Stable, no uwsgi API support Running PHP scripts in uwsgi 1.0-dev Stable from 1.1, 5% uwsgi API support uwsgi Go support (1.4 only) 1.4-dev 15% uwsgi API support JVM in the uwsgi server (updated to 1.9) 1.9-dev Stable The Mono ASP.NET plugin 0.9.7-dev Stable uwsgi V8 support 1.9.4 Early stage of development

- 6-4. 설치및실행 세부목차 4.1 uwsgi 설치 4.2 uwsgi 서버실행 4.3 uwsgi 설정 * 출처 : http://kernel-for-trace-based-systems.readthedocs.io

- 7-4. 설치및실행 4.1 uwsgi 설치 여기서는 Ubuntu 기반에서설치한다. 설치를위해 Python 과 C 컴파일러 (gcc, clang) 가필요하다. Python 은 linux 에기본으로설치되어있기때문에 pip install uwsgi 로설치가능하다.

- 8-4. 설치및실행 4.2 uwsgi 서버실행 서버실행은 uwsgi 명령어를통해실행가능하지만간단한스크립트를만들어 실행해보자. /etc/init 디렉토리에있는선언적구성파일을기반으로실행한다 simple script (/etc/init/uwsgi.conf) # simple uwsgi script description "uwsgi tiny instance" start on runlevel [2345] stop on runlevel [06] respawn exec uwsgi --master --processes 4 --die-on-term --socket :3031 --wsgi-file /var/www/myapp.wsgi

- 9-4. 설치및실행 4.3 uwsgi 설정 (1/2) uwsgi 는여러가지포맷 (ini,xml, yaml, json) 을지원한다. uwsgi --ini http://uwsgi.it/configs/myapp.ini # HTTP uwsgi --xml - # standard input uwsgi --yaml fd://0 # file descriptor uwsgi --json 'exec://nc 192.168.11.2:33000' # arbitrary executable

- 10-4. 설치및실행 4.3 uwsgi 설정 (2/2).INI 파일은많은응용프로그램에서사용되는사실상표준구성형식이다. [section] key = value 쌍으로구성된다. [uwsgi] socket = /tmp/uwsgi.sock socket = 127.0.0.1:8000 workers = 3 master = true 기본적으로 uwsgi 는 [uwsgi] 섹션을사용하지만 filename : section 구문과함께 INI 파일을 로드하는동안다른섹션이름을지정할수있다. uwsgi --ini myconf.ini:app1

- 11-5. 기능소개 세부목차 5.1 uwsgi 로깅 5.2 uwsgi 로그포맷 출처 : Ruslan s Blog

- 12-5. 기능소개 5.1 uwsgi 로깅 uwsgi 에서가장기본적인형태의로깅은요청, 오류및정보메시지를 stdout / stderr 으로생성한다. 로그리다이렉션의가장기본적인형태는 --logto / --logto2 / --daemonize 옵션으로, 로그를파일로정할수있다../uwsgi -s :3031 -w simple_app --daemonize /tmp/mylog.log./uwsgi -s :3031 -w simple_app --logto /tmp/mylog.log./uwsgi -s :3031 -w simple_app --uid 1001 --gid 1002 --logto2 /tmp/mylog.log stdout / stderr 대신파일에기록하려면 --logto 를사용하거나 uwsgi, - daemonize 를 동시에데몬을실행하면된다.

- 13-5. 기능소개 5.2 uwsgi 로그포맷 uwsgi 에는사용자정의요청로그라인을작성하기위한 --logformat 옵션이있다. %(uri) -> REQUEST_URI %(method) -> REQUEST_METHOD %(user) -> REMOTE_USER %(addr) -> REMOTE_ADDR %(host) -> HTTP_HOST %(proto) -> SERVER_PROTOCOL %(uagent) -> HTTP_USER_AGENT (starting from 1.4.5) %(referer) -> HTTP_REFERER (starting from 1.4.5) 다음로그형식을사용하면코드정의 logvars 에액세스할수있다. uwsgi --logformat 'worker id = %(worker_id) for request "%(method) %(uri) %(proto)" test = %(foo)'

- 14 - 세부목차 6.1 Python + Apache mod_wsgi 연동 6.2 Apache mode_wsgi + Django 연동

- 15-6.1 Python + Apache mod_wsgi 연동 (1/8) Apache mod_wsgi란? mod_wsgi의목적은 Python WSGI 인터페이스를지원하는 Python 응용프로그램을호스팅할수있는간단한 ApacheModule을구현하는것이다. 이모듈은웹호스팅서비스에서실행되는고성능운영사이트뿐만아니라고성능프로덕션웹사이트호스팅에도사용하기에적합하다. 지원가능한웹프레임워크및어플리케이션 CherryPy Django Pylons TurboGears Pyramid web.py Werkzeug Web2Py and Zope.

- 16-6.1 Python + Apache mod_wsgi 연동 (2/8) 아파치설치 (1/2) # apt-get install apache2

- 17-6.1 Python + Apache mod_wsgi 연동 (3/8) 아파치설치 (2/2) # apt-get install apache2

- 18-6.1 Python + Apache mod_wsgi 연동 (4/8) 아파치 wsgi 설정 vi /etc/apache2/conf-available/wsgi.conf

- 19-6.1 Python + Apache mod_wsgi 연동 (5/8) 아파치 wsgi 설정 vi /etc/apache2/conf-available/wsgi.conf WSGIScriptAlias /test_wsgi /var/www/html/test_wsgi.py

- 20-6.1 Python + Apache mod_wsgi 연동 (6/8) 아파치 wsgi 설정 $ a2enconf wsgi $ systemctl restart apache2

- 21-6.1 Python + Apache mod_wsgi 연동 (7/8) test_wsgi.py 생성 root@www:~# vi /var/www/html/test_wsgi.py # create new def application(environ,start_response): status = '200 OK' html = '<html>\n' \ '<body>\n' \ '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \ 'mod_wsgi Test Page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n' response_header = [('Content-type','text/html')] start_response(status,response_header) return [html]

- 22-6.1 Python + Apache mod_wsgi 연동 (8/8) test_wsgi 페이지확인 웹브라우저에서 http://localhost/test_wsgi 접속하여확인한다.

- 23-6.2 Apache mode_wsgi + Django 연동 (1/20) 사전환경구축 virtualenv 설치 django 설치 Apache2 설치 mod_wsgi 설치

- 24-6.2 Apache mode_wsgi + Django 연동 (2/20) Django 란? Django는안전하고유지관리가능한웹사이트를신속하게개발할수있는고차원적인 Python 기반웹프레임워크이다. 경험이풍부한개발자들에의해구축된장고 (Django) 는웹개발의번거로움을해소할수있도록하기위해고안되었다. 자유롭고개방적이며활발한커뮤니티를보유하고있으며, 우수한문서및유료지원을위한다양한옵션을갖추고있다.

- 25-6.2 Apache mode_wsgi + Django 연동 (3/20) virtualenv 설치 가상작업환경인 virtualenv 를설치한다. root@www:~# apt-get -y install python-virtualenv

- 26-6.2 Apache mode_wsgi + Django 연동 (4/20) virtualenv 설정 ubuntu@www:~$ virtualenv venv # virtualenv 생성 ubuntu@www:~$ cd ~/venv ubuntu@www:~/venv$ source bin/activate (venv)ubuntu@www:~/venv$ pip install -U pip (venv)ubuntu@www:~/venv$ pip install django #django 설치

- 27-6.2 Apache mode_wsgi + Django 연동 (5/20) 테스트프로젝트생성 Ubuntu@www:~$ cd ~/venv Ubuntu@www:~/venv$ source bin/activate # create testproject (venv)ubuntu@www:~/venv$ django-admin startproject testproject (venv)ubuntu@www:~/venv$ cd testproject

- 28-6.2 Apache mode_wsgi + Django 연동 (6/20) 데이터베이스설정 (SQLite)(1/2) # configure database (default is SQLite) (venv)ubuntu@www:~/venv/testproject$ python manage.py migrate

- 29-6.2 Apache mode_wsgi + Django 연동 (7/20) 데이터베이스설정 (SQLite)(2/2) # create admin user (venv)ubuntu@www:~/venv/testproject$ python manage.py createsuperuser

- 30-6.2 Apache mode_wsgi + Django 연동 (8/20) 서버실행 # start server venv)ubuntu@www:~/venv/testproject$ python manage.py runserver 0.0.0.0:8000

- 31-6.2 Apache mode_wsgi + Django 연동 (9/20) 서비스확인

- 32-6.2 Apache mode_wsgi + Django 연동 (10/20) 관리자페이지확인

- 33-6.2 Apache mode_wsgi + Django 연동 (11/20) 관리자페이지확인

- 34-6.2 Apache mode_wsgi + Django 연동 (12/20) 테스트프로젝트생성 ubuntu@www:~$ cd ~/venv ubuntu@www:~/venv$ source bin/activate (venv)ubuntu@www:~/venv$ cd testproject (venv)ubuntu@www:~/venv/testproject$ python manage.py startapp testapp

- 35-6.2 Apache mode_wsgi + Django 연동 (13/20) views.py 작성 (venv)ubuntu@www:~/venv/testproject$ vim testapp/views.py

- 36-6.2 Apache mode_wsgi + Django 연동 (14/20) testproject/urls.py 수정 (venv)ubuntu@www:~/venv/testproject$ vim testproject/urls.py

- 37-6.2 Apache mode_wsgi + Django 연동 (15/20) testapp/urls.py 생성 (venv)ubuntu@www:~/venv/testproject$ vim testapp/urls.py

- 38-6.2 Apache mode_wsgi + Django 연동 (16/20) settings.py 작성 (venv)ubuntu@www:~/venv/testproject$ vim testproject/settings.py # add testapp like follows INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'testapp', # 추가 )

- 39-6.2 Apache mode_wsgi + Django 연동 (17/20) 서버실행후, 웹서비스확인 브라우저를통해테스트페이지가확인되었다면 Django 연동준비가완료된것이다. (venv)ubuntu@www:~/venv/testproject$ python manage.py runserver 0.0.0.0:8000

- 40-6.2 Apache mode_wsgi + Django 연동 (18/20) Apache mod_wsgi 설정 Django Test page 까지확인했으면이제 Apache mod_wsgi 와 Django 를연동해본다. 연동을위해 django.conf 파일을생성하여설정한다. root@www:~# vi /etc/apache2/conf-available/django.conf

- 41-6.2 Apache mode_wsgi + Django 연동 (19/20) Apache 재구동 root@www:~# a2enconf wsgi root@www:~# systemctl restart apache2

- 42-6.2 Apache mode_wsgi + Django 연동 (20/20) 브라우저에서서비스확인

- 43-7. FAQ Q 상업서비스에기술지원이가능합니까? & A unbit.it 에서메일답변가능합니다. Q 클러스터환경에서사용할수있습니까? & A uwagi 주요기능중하나로가능합니다. 여러서버에바인딩된여러인스턴스와로드밸런싱을사용하는경우, webserver/proxy aerouter 부하를분산시킬수있습니다. Q 기존서버를 uwsgi 로바꾸면더좋아집니까? & A 대체적으로빠르지만큰병목현상이있는어플리케이션은성능이크게나아지기힘듭니다.

- 44-7. FAQ Q uwsgi 환경에서성능개선에가장중요한옵션은무엇입니까? & A 기본적으로 "almost-all-all" 값으로구성됩니다. 그외에도소켓큐사이즈나쓰레딩, 멀티인터럽트튜닝옵션을고려할수있습니다. Q uwsgi에적합한웹서버핸들러는무엇이있습니까? & A Nginx, Apache, Lighttpd, Twisted, Tomcat 등이있습니다.

- 45-8. 용어정리 용어 WSGI (Web Server Gateway Interface) 장고 (Django) 파이썬 (Python) 엔진엑스 (NginX) Mod_WSGI Gunicorn Bjoern 설명 웹서버와웹애플리케이션의인터페이스를위한파이선프레임워크 파이썬으로만들어진무료공개 SW 웹애플리케이션프레임워크 (web application framework) 네덜란드수학자귀도반로섬에의해개발된프로그램언어로문법이쉽고간결하고무료로사용할수있어널리쓰임 웹서버 (Web Server) 소프트웨어 Graham Dumpleton 이개발된 Apache HTTP Server 모듈로 python web apps 을위한 WSGI 인터페이스지원 Green Unicorn 약어로 Unix 용 WSGI HTTP Server 임. Ruby 프로젝트에서포크됨 비동기 Cpython 의 WSGI serve 로 C 언어로작성되어가볍고속도가빠름

Open Source Software Installation & Application Guide 이저작물은크리에이티브커먼즈 [ 저작자표시 비영리 동일조건변경허락 2. 0 대한민국라이선스 ] 에따라이용하실수있습니다.