웹서버란 쉽게 말해 http를 통해 웹 브라우저에서 요청하는 html문서나 리소스를 전달해주는 서비스 프로그램입니다.
즉 우리는 웹서버를 통해 웹페이지에 접속할수 있게 됩니다.
그렇다면 이번 시간에는 운영체제별로 자신의 웹서버를 직접 운용해보겠습니다.
Window
Mac
Linux
-
사실 윈도우에 아파치를 직접 설치하는 것은 꽤 까다로운 일이라 bitnami를 이용해 설치하는 겁니다.
WAMP의 W는 Windows, A는 Apache, M은 MySQL, P는 PHP의 약자입니다.
리는 이 중에서 Apache 웹서버를 설치하기 위해서 Bitnami를 깔고 있는 겁니다.bitnami 설치가 완료되면 보통 자동으로 bitnami manager가 뜰텐데 만약 뜨지 않는다면
C:\Bitnami\wampstack-7.3.13-0의 manager-windows.exe
를 통해 열수 있습니다.bitnami manager가 떴다면 오른쪽 하단에 있는
Go to application
을 눌러 줍니다.짜잔! 웹페이지가 정상적으로 뜬다면 설치에 성공한 것입니다.
다시 bitnami manager로 돌아와 상단의
Manage Server
를 눌러보면Apache Web Server
가 실행중임을 확인 할 수 있습니다. 그 위의 MySQL Database는 무시 해 줍시다.만약 웹 서버를 끄고 싶다면
Apache Web Server
을 누른후Stop
버튼을 눌러줍니다. 이제 아까 접속했던 웹페이지에서 reload를 하면 웹페이지가 닫혀 있습니다.HTTP는 Hyper Text Transfer Protocol의 약자로 웹페이지를 전송하기 위해서 만든 통신 규약이라는 뜻입니다. 우리는 이 HTTP를 주소창에서 자주 볼 수 있습니다.
Go to application
으로 접속한 웹사이트의 주소창을 보면localhost
라고 되어있습니다. 이를http://localhost/index.html
와http://127.0.0.1/index.html
로 바꿔봅시다. 모두 같은 사이트에 접속되는것을 볼 수 있습니다.localhost
와 같이 의미가 있는 이름을 도메인 네임(domain name),127.0.0.1
과 같이 번호로 되어 있는 것을 ip 주소(ip address)라고 부릅니다.localhost
와127.0.0.1
둘다 자신의 컴퓨터를 가르키며http://127.0.0.1/index.html
를 웹브라우저에 입력하면 웹브라우저는 같은 컴퓨터에 설치된 웹서버에게index.html
을 요청합니다. 웹서버는 웹페이지를 저장하기로 약속된 디렉토리인htdocs
에서index.html
파일의 코드를 읽어서 웹브라우저에게 전송합니다. 웹서버는 코드를 해석해서 화면에 웹페이지를 표시하는 방식입니다.htdoc
디렉토리는 어디에 있을까?
htdoc
는 hypertext document의 약자로 2장의 Bitnami manager를 키기위해 열었던C:\Bitnami\wampstack-7.3.13-0
에서apache2
에 들어가면 찾을수 있습니다.
만약 자신이 만든 프로젝트를 웹서버를 통해 표시하고 싶다면 이htdoc
폴더에 기존의 파일들을 모두 삭제한 후 넣어주면 됩니다.
위에서 우리는 우리 컴퓨터 내부에 있는
index.html
파일을 불러와 웹서버를 통해 표시했습니다. 그러면 네이버나 구글의 html파일은 우리 컴퓨터에 없음에도 어떻게 표시되는 걸까요? 이는도메인주소
혹은ip주소
를 통해 현재 내 컴퓨터의 웹 브라우저에서 상대 컴퓨터의 웹서버에 접속해 해당 파일을 요청합니다.
그렇다면 현재 내 컴퓨터의 ip주소를 알아야 다른 컴퓨터에서 접속을 할 수 있을 것입니다.자신의 ip주소는
Window키+R키
를 누른후cmd
를 입력해 명령 프롬프트를 열어ipconfig
라고 입력합니다.
그럼 아래쪽에IPv4 주소 . . . . . . . . . : xxx.xxx.xxx.xxx
와 같이 ip주소를 알아낼 수 있습니다.이제 알아낸 주소를 다른 컴퓨터인 휴대폰으로
http://xxx.xxx.xxx.xxx/index.html
들어가 봅시다.단! 웹브라우저가 설치된 컴퓨터와 웹서버가 설치된 컴퓨터를 같은 네트워크에 접속해야 합니다. 즉, 핸드폰으로 연결된 와이파이와 컴퓨터에 연결된 와이파이가 같아야 합니다.
-
사실
맥에는 이미 아파치가 설치되어 있지만
나중에 지워질수 있으므로 bitnami를 이용해 설치 해봅시다.
MAMP의 M는 Mac, A는 Apache, M은 MySQL, P는 PHP의 약자입니다.
우리는 이 중에서 Apache 웹서버를 설치하기 위해서 Bitnami를 깔고 있는 겁니다.bitnami 설치가 완료되면 보통 자동으로 bitnami manager가 뜰텐데 만약 뜨지 않는다면
Application/mampstack-**의 manager-osx
를 통해 열수 있습니다.bitnami manager가 떴다면 오른쪽 하단에 있는
Go to application
을 눌러 줍니다.짜잔! 웹페이지가 정상적으로 뜬다면 설치에 성공한 것입니다.
다시 bitnami manager로 돌아와 상단의
Manage Server
를 눌러보면Apache Web Server
가 실행중임을 확인 할 수 있습니다. 그 위의 MySQL Database는 무시 해 줍시다.만약 웹 서버를 끄고 싶다면
Apache Web Server
을 누른후Stop
버튼을 눌러줍니다. 이제 아까 접속했던 웹페이지에서 reload를 하면 웹페이지가 닫혀 있습니다.HTTP는 Hyper Text Transfer Protocol의 약자로 웹페이지를 전송하기 위해서 만든 통신 규약이라는 뜻입니다. 우리는 이 HTTP를 주소창에서 자주 볼 수 있습니다.
Go to application
으로 접속한 웹사이트의 주소창을 보면localhost:8080
라고 되어있습니다. 이를http://localhost:8080/index.html
와http://127.0.0.1:8080/index.html
로 바꿔봅시다. 모두 같은 사이트에 접속되는것을 볼 수 있습니다.localhost
와 같이 의미가 있는 이름을 도메인 네임(domain name),127.0.0.1
과 같이 번호로 되어 있는 것을 ip 주소(ip address)라고 부릅니다. 그 뒤에 있는:8080
은포트(port)
라는 것입니다. 8080이 붙은 이유는 맥에는 기본적으로 웹서버가 설치되어 있기 때문에 웹서버에 접속했을 때 기존의 웹서버와 Bitnami를 이용해서 설치한 웹서버를 구별하기 위해서 나중에 설치한 웹서버에 포트 번호를 8080으로 부여한 것입니다. 기존의 웹서버는 포트 번호가 80입니다만, 웹서버의 포트 번호는 기본적으로 80을 쓰기로 약속했기 때문에 80을 붙이지 않아도 80으로 간주하고 있는 것입니다. 자주 방문하는 웹사이트에 주소 뒤에 :80을 붙여보면 접속이 될 거에요. 80 외에 다른 숫자를 하면 오류가 납니다.localhost
와127.0.0.1
둘다 자신의 컴퓨터를 가르키며http://127.0.0.1:8080/index.html
를 웹브라우저에 입력하면 웹브라우저는 같은 컴퓨터에 설치된 웹서버에게index.html
을 요청합니다. 웹서버는 웹페이지를 저장하기로 약속된 디렉토리인htdocs
에서index.html
파일의 코드를 읽어서 웹브라우저에게 전송합니다. 웹서버는 코드를 해석해서 화면에 웹페이지를 표시하는 방식입니다.htdoc
디렉토리는 어디에 있을까?
htdoc
는 hypertext document의 약자로 2장의 Bitnami manager를 키기위해 열었던Application/mampstack-**
에서apache2
에 들어가면 찾을수 있습니다.
만약 자신이 만든 프로젝트를 웹서버를 통해 표시하고 싶다면 이htdoc
폴더에 기존의 파일들을 모두 삭제한 후 넣어주면 됩니다.
위에서 우리는 우리 컴퓨터 내부에 있는
index.html
파일을 불러와 웹서버를 통해 표시했습니다. 그러면 네이버나 구글의 html파일은 우리 컴퓨터에 없음에도 어떻게 표시되는 걸까요? 이는도메인주소
혹은ip주소
를 통해 현재 내 컴퓨터의 웹 브라우저에서 상대 컴퓨터의 웹서버에 접속해 해당 파일을 요청합니다.
그렇다면 현재 내 컴퓨터의 ip주소를 알아야 다른 컴퓨터에서 접속을 할 수 있을 것입니다.자신의 ip주소는
제어판(System Preference
에 들어간후Network
을 클릭하면 현재 자신이 연결된 인터넷이초록불
로 뜰것입니다. 그러면 오른쪽 하단의고급
을 누르시면 무언가 뜰것입니다. 위쪽을 보면TCP/IP
가 있는데 그걸 누르시면 드디어 아래쪽에IPv4 주소: xxx.xxx.xxx.xxx
와 같이 ip주소를 알아낼 수 있습니다.이제 알아낸 주소를 다른 컴퓨터인 휴대폰으로
http://xxx.xxx.xxx.xxx:8080/index.html
들어가 봅시다.단! 웹브라우저가 설치된 컴퓨터와 웹서버가 설치된 컴퓨터를 같은 네트워크에 접속해야 합니다. 즉, 핸드폰으로 연결된 와이파이와 컴퓨터에 연결된 와이파이가 같아야 합니다.
-
검색해보니 다음과 같은 사이트에서 설치방법을 알려주고 있습니다.
우선 터미널을 연후 아래의 코드르 쳐줍니다.sudo apt-get update
sudo 는 슈퍼 관리자의 권한으로 실행하라는 의미입니다. 리눅스에서 프로그램을 설치하는 것은 일반유저의 권한으로 할 수 없습니다.
apt-get은 리눅스 배포판 중의 하나인 우분투에서 사용할 수 있는 일종의 앱스토어입니다. 이 프로그램을 이용해서 손쉽게 프로그램을 설치할 수 있습니다.
update는 설치할 수 있는 프로그램들의 목록을 최신상태로 갱신하라는 의미입니다. 프로그램을 설치하기 전엔 이 명령을 항상 실행해주세요.sudo apt-get install apache2
이제 아파치를 설치해 봅시다 만약
Do you want continue?[y/n]
이 뜬다면y
를 입력해줍니다.HTTP는 Hyper Text Transfer Protocol의 약자로 웹페이지를 전송하기 위해서 만든 통신 규약이라는 뜻입니다. 우리는 이 HTTP를 주소창에서 자주 볼 수 있습니다.
127.0.0.1
과 같이 번호로 되어 있는 것보신적이 있으실 겁니다 우리는 이것을 ip 주소(ip address)라고 부릅니다.
우리는 이 ip주소를 이용해 웹서버가 설치된 컴퓨터에 접속해 해당 파일(index.html)을 요청하여 웹 브라우저에 띄워볼것 입니다. 즉 ip주소를 전화번호와 같은 개념이라고 보시면 될것 같습니다. 그렇다면 현재 웹서버가 내 컴퓨터에 설치되어 있으므로 가장 먼저 현재 내컴퓨터에 연결된 ip주소를 알아내야 합니다.콘솔창에서 아래 코드를 입력해줍니다.
hostname -I
이제 주어진 ip주소를 가지고 주소창에
xxx.xxx.xxx.xxx/index.html
로 접속해 봅시다.짜잔! 웹페이지가 떳다면 성공적으로 설치를 완료한것입니다.
index.html
파일은 내컴퓨터의 어디에 있을까? 우리는xxx.xxx.xxx.xxx/index.html
을 통해 내 컴퓨터내에 있는index.html
파일을 요청해 띄웠습니다.
접속하신 사이트를 보시면 replace this file(located at//~)과 같이 나와있을 것입니다. 여기서~/~/~
이 바로index.html
이 위치한 주소입니다.
자 이제 콘솔창에서 index.html이 있는 곳으로 이동해 봅시다.
cd /~/~/~; mv index.html index2.html
우리는 2번째 코드로 index.html파일의 이름을
index2.html
로 바꿔 보았습니다.이제
xxx.xxx.xxx.xxx/index.html
로 접속하신다면index.html
파일이 없으므로 접속이 되지않고xxx.xxx.xxx.xxx/index2.html
로 접속하셔야 합니다.- 만약 자신이 만든 프로젝트를 웹서버를 통해 표시하고 싶다면
cd 자기 프로젝트 주소; cp -R . /~/~/~
로 자기 프로젝트를 위 폴더로 복사시켜줍니다.
이번에는 아마존 웹 서비스중 하나인 EC2
에 대해 소개해 드리겠습니다.
EC2
는 아마존 웹서비스에서 제공하는 클라우드 컴퓨팅
중 하나이며 우리는 EC2를 통해 인터넷의 공간에 가상의 컴퓨터
를 만들어 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 정보를 처리할 수 있습니다.
이제 직접 EC2를 사용해 보도록 합시다.
우선 EC2를 사용하기 위해 AWS에 접속하여 회원가입을 진행해줍니다.(신용카드를 등록할시 해외결제가 가능한 카드를 등록하셔야 합니다.)
가입을 완료 하였다면 EC2서비스에 들어가봅시다.
왼쪽 메뉴바를 보시면 인스턴스
가 보이실 겁니다. 쉽게 컴퓨터 한대가 인스턴스
1개라고 생각하시면 될같습니다.
가상의 컴퓨터를 만들기위해 인스턴스에 들어가 인스턴스 시작
을 눌러줍니다.
-
단계 1: Amazon Machine Image(AMI) 선택
컴퓨터를 만들때 필요한 소프트웨어 구성(운영 체제, 애플리케이션 서버, 애플리케이션)이 포함된 템플릿을 고를수있습니다.
우리는Ubuntu Server
을 골라줍시다. -
단계 2: 인스턴스 유형 선택
인스턴스의 CPU, 메모리, 스토리지 및 네트워킹 용량을 정해주는 단계입니다.
우리는유형: t2.micro
vCPUS: 1
메모리: 1GiB
로 설정해 줍니다. -
단계 3: 인스턴스 세부 정보 구성
인스턴스 개수
를 통해 만들 컴퓨터의 개수를 정해줄수 있습니다. 우리는1
그대로 둡시다. -
단계 4: 스토리지 추가
저장장치 설정을 할수있는 단계 입니다. 크기를8 GiB
로 두고 계속 진행해 봅시다. -
단계 5: 태그 추가
컴퓨터의 이름을 정할수 있는 단계입니다.태그 추가
를 누른후 키(Key)는Name
, 값은웹서버
라고 적어줍시다 -
단계 6: 보안 그룹 구성
컴퓨터 보안에 관련된 단계입니다.보안 그룹 이름
을webserver
라 지정해주고규칙추가
를 누르신후 유형을HTTP
로 선택한후검토및시작
을 눌러줍시다. -
단계 7: 인스턴스 시작 검토
인스턴스를 시작하기 앞서 마지막 설정들을 확인하는 단계입니다. 확인을 완료한후시작하기
버튼을 누르시면기존 키 페어 또는 새 키 페어 생성
이라는 창이 뜨실 겁니다. 이것은 우리가 생성한 컴퓨터에 접속하기 위한 비밀번호를 지정하는 것입니다. 여기서새키 페어 생성
을 누르신 후키 페어 이름
에awspwd
를 입력 후키 페어 다운로드
를 누르시면awspwd.pem
이라는 파일이 다운되는데 이 파일을 메모장으로 열어보시면 실제 비밀번호를 보실 수 있습니다. 마지막으로인스턴스 시작
을 누르시면 한대의 컴퓨터를 만드는 작업이 완료되었습니다.
아래쪽의 인스턴스 보기
를 누르시면 현재 내 인스턴스들을 보실 수 있습니다. 인스턴스 상태가 runnuning인 것을 확인하실 수 있습니다.
이로써 우리는 간단한 클릭 몇번으로 가상의 컴퓨터를 만드는 작업을 완료했습니다!