본문 바로가기
개발Study/web

django + apache + mysql 을 이용한 web server

by happy90 2020. 8. 23.
SMALL

WEB Server

  웹 브라우저 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공하는 프로그램.

브라우저는 우리가 일반적으로 알고 있는 대표적인 것이 internet explorer. chome 등이 있다.

정적인 컨텐츠란 웹브라우저가 보여주는 페이지들을 생각하면 된다.

네이버의 메인페이지라던가 티스토리 블로그의 한 페이지 등.

기타 등등 클라이언트 PC에서 naver.com의 페이지를 요청하면 브라우저를 통해 유저에게 해당 페이지를 보여주는 것이다.

 

django

python기반의 오픈소스 웹프레임워크.

웹에서 필요로 하는 많은 기능들을 간편하게 사용할 수 있는 장점이 있다.

예를 들어 어떤 서비스에 로그인하는 기능을 api로 제공하여 간편하게 구현할 수 있게 되는 것이다.

언어가 python이기 때문에 개발이 쉽고 빠르게 진행될 수 있다.

성능은 떨어지는 편이라고 한다.

 

apache

웹서버프로그램이다. 종류가 여러가지 있지만 apache를 많이 사용한다고 한다.

 

mysql

DBMS(Database Management System)

데이터베이스에 접근하도록 해주는 소프트웨어이다.

웹서버라면 디비를 빼놓을 수 없다.

 

apache, django, mysql을 이용하여 웹서버를 개발하는 연습을 하고자 한다.

apache는 linux system에 호환성이 좋다고 하지만 지금 환경이 안돼서 윈도우에서 연습한다.

 

 

개발환경구축 

1. apache 다운로드 및 설치

kiwinote.tistory.com/75를 참고했습니다.

다운로드 사이트 :https://www.apachelounge.com/download/

다운받으면 ZIP압축파일을 확인할 수 있다.

압축을 풀어서 C 경로에 이동시켜 놓는다.

그리고 httpd.conf를 수정한다. 

여기에 server root를 지정하는 변수가 있다. server root는 웹브라우저로 웹서버에 접속했을 때 보여주는 페이지가 위치하는 경로이다. 근데 딱히 설정하지 않아도 된다.

C: 드라이브에 Apache24폴더를 위치시켰고, htdocs는 그 디렉토리 안에 들어있다.

index.html도 들어있다.

apache 웹서버 설치하기 :

명령어 프롬프트 환경은 linux가 편해서 git bash를 실행시켰다. 원래는 window의 cmd를 실행시킨다.

C:/Apache24/bin 에 들어가 httpd.exe를 실행시켜 설치한다.

아니 이게 뭐야. git bash로 해서 그런가 싶어서 윈도우 명령어프롬프트로 똑같이 실행시켜봤다.

아이씨...ㅠ.ㅠ. 뭔가.. 다른 에러... 일단 window 명령프롬프트를 계속 사용하기로 하고, 

nolbaegong.tistory.com/33

 

vcruntime140.dll 오류 원인과 해결 방법

vcruntime140.dll 오류 원인과 해결 방법 요즘 윈도우10을 사용하면서 예전에 비해서 오류 메시지가 많이 줄었들었습니다. 그럼에도 불구하고 오류 메시지가 나오고 제대로 윈도우가 작동안하면 당��

nolbaegong.tistory.com

위 링크를 보고 해결했다. 그런데

"응용 프로그램을 제대로 시작하지 못했습니다 (0xc000007b). 응용프로그램을 닫으려면"....

아무래도 윈도우랑 호환이 거의 안되는게 아닐까 생각하며ㅠ.ㅠ 다시 구글링을 해본다.

all in one runtime이란걸 설치하라는 말이 블로그 두군데에 있다. 이거 바이러스같은거 있는게 아닌지 걱정이다.

blog.krcesdev.com/entry/%EC%9D%91%EC%9A%A9-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%8B%9C%EC%9E%91%ED%95%98%EC%A7%80-%EB%AA%BB%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4-0xc000007b-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%EB%B2%95

일단 설치를 해본다. 윈도우 디펜더에도 걸린다. 의심스럽지만 내컴터는 비어있으니까 설치해본다.

웹서버 구축하는 블로그 쓰고있는데 이게 무슨;;

드디어 설치됐다 ㅠ.ㅠ

잘 실행되나 확인해봐야겠다.

아 window defender가 apache도 차단한다 -,-

화면 오른쪽 구석탱이에 apache 실행된것이 보이고, 마우스 오른쪽 클릭하면 monitor라는게 나온다.

apache monitor에 start / stop / restart 등 버튼이 보인다.

start버튼을 눌러 서버를 시작할 수 있다.

dksl 진짜 뭔데;; 한번에 되는게 없어??

명령프롬프트에서 실행시켜보라는 말에 한번 따라해봤다.

에러의 원인이 출력된다. 다행이다. 라이브러리 로딩을 못한다고 한다.

모듈은 있다. 엄.. ㅠ.ㅠ

www.apachelounge.com/viewtopic.php?t=368

 

Apache :: apache install, missing mod_actions.so

  Topic: apache install, missing mod_actions.so Author casa3311Joined: 20 May 2006Posts: 2 Back to top SteffenModeratorJoined: 15 Oct 2005Posts: 2836Location: Hilversum, NL, EU Back to top casa3311Joined: 20 May 2006Posts: 2 Back to top pnllanJoined: 05 D

www.apachelounge.com

여기서 답을 찾은듯하다. server root 경로 설정에 문제가 있었다. htdocs로 하면 안되는것이었다.

SRVROOT를 default 값으로 원상복구.!!

뭐라고 나오기는 하는데 성공한것같다.

 

웹브라우저에 http://localhost 를 입력하면 C:/Apache24/htdocs에 있는 index.html페이지가 나온다.

index.html의 내용을 확인할 수 있다.

드디어 설치가 완료됐다. ㅠㅠ

 

다음은 django의 설치 !! python을 먼저 설치해야 한다고 한다.

그러면 python 설치.

www.python.org/downloads/release/python-385/

 

Python Release Python 3.8.5

The official home of the Python Programming Language

www.python.org

intaller를 다운로드 받아서 설치하면 끝난다. 간단..!!

django를 설치하기 위한 명령어 

pip install django

그냥되는게 없네 쥔짜..ㅠ.ㅠ 

stackoverflow.com/questions/47632891/pip-install-returning-invalid-syntax

위 링크를 보고 명령프롬프트에서 python install 경로에 들어갔다. pip.exe가 있는 경로까지.

pip.exe install django 하니까 잘 된다. 환경변수 설정이 필요한 듯.

설치되었다는 문구를 보았으니, 프로젝트를 하나 생성해보기로 한다.

환경적용하기 위해 명령어 프롬프트를 껐다켜면 project를 만들 수 있다.

바탕화면에 잘 만들어졌다.

엄... 더 해보고싶은데 일단 mysql을 설치하고 끝나야겠다.

www.mysql.com/

downloads -> 맨밑에 MySQL Community Downloads -> installer for windows

oracle에 로그인 후 다운로드받을 수 있다.

설치시 옵션이 많은데 다 default로 설치함.

그리고 python에서 mysql을 쓰려면 connector?를 설치해야 한다.

pip install mysqlclient

하면 된다.

 

다음엔 django 프로젝트만든 후 개발을 해봐야겠다.

 

LIST

'개발Study > web' 카테고리의 다른 글

Python shell in django  (0) 2020.10.18
Django url? view? HTTP?  (0) 2020.10.18
MVC pattern  (0) 2020.09.20
database in django  (0) 2020.09.13
django project  (0) 2020.09.09

댓글