를 $(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<로 변경한다

Download Report

Transcript 를 $(CC) -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<로 변경한다

제15장 GoAhead Web Server
목차
15.1 Web Server GoAhead의 이해
15.2 GoAhead 설치
15.3 Goahead Web Server 실행하기
15.4 CGI를 이용한 웹 프로그래밍
15.5 CGI 프로그램이 가능한 언어들
15.6 C를 이용한 CGI
2
15.1 Web Server GoAhead 이해

관련 홈페이지 http://www.GoAhead.com

단일 Task 작업을 수행한다.

일반적인 다른 Web Server는 매 연결마다 fork()를 이용하여
새로운 task를 형성한다.

GoAhead는 CGI(Common Gateway Interface), 자동 디렉토리 관리,
자동 파일 gunzip 등을 위해서만 fork()를 수행한다.

빠르고 단순하다.

타겟은 서버를 돌리고 Web Browser는 타겟에 접속해서 서비스를
받게 된다.
3
15.1 Web Server GoAhead 이해
4
15.2 GoAhead 설치하기

Source 구하기
 http://www.goahead.com
 GoAhead 2.1.6버전

Makefile과 컴파일
#tar xvzf webs216.tar.gz
#cd ws0303251
5
15.2 GoAhead 설치하기

Makefile과 컴파일
가장 마지막 줄의 cc -c -o $@ $(DEBUG) $(CFLAGS) $(IFLAGS) $<를 $(CC) -c -o $@
.
$(DEBUG) $(CFLAGS) $(IFLAGS) $<로 변경한다
6
15.2 GoAhead 설치하기

Makefile과 컴파일
Makefile 수정이 끝났으면 make 명령으로 컴파일하고 컴파일 후 생성된
webs를 타겟보드에 다운로드 받는다.
7
15.3 GoAhead web server 실행하기

타겟보드 환경 설정
실행하기 전에 ifconfig를 했을 때으 ip와 /etc/hosts의 ip가 같은지 확인
한다.
그리고 hostname이 같은지도 확인한다.
(만약에 틀리다면 수정해 준다.)
8
15.3 GoAhead web server 실행하기

타겟보드 web server download
타깃보드에서 다음과 같은 명령어로 webs을 다운로드 받고 실행권한을
준다.
9
15.3 GoAhead web server 실행하기

타겟보드 web server 서비스 파일 download
서버 테스트를 위해 예제 웹페이지를 갖고 있는 GoAhead로 이동한다.
소스에 보면 web이라는 디렉토리가 있다.
이 디렉토리는 asp와 html, cgi스트할 수 있는 코드가 들어있는데 이를
묶어서 타겟보드의 /디렉토리(최상위)로 다운로드 해서 풀어 놓는다.
<host PC>
10
15.3 GoAhead web server 실행하기

타겟보드 web server 서비스 파일 download
web.tar.gz을 /디렉토리에서 압축을 풀면 ./web이라는 디렉토리가 생긴다.
11
15.3 GoAhead web server 실행하기

타겟보드 web server 실행하기
]# ./webs & //웹서버 실행
웹서버가 정상적으로 동작하는지 웹브라우저를 통해 접속해보자.
12
15.4 CGI를 이용한 웹 프로그래밍

CGI(Common Gateway Interface)는 HTTP와 같은 웹 서버와
외부 응용 프로그램과 인터페이스를 위한 표준이다.
기존의 http text는 정적인 파일 형태로 존재하지만, CGI 프로그램
은 실시간 실행 중인 출력 text정보를 동적으로 변경 시킬 수 있다.
CGI를 실행 시키는 사용자는 이 실행 파일을 강제로 실행 시키는
권한을 금지한다.
CGI 실행 파일들은 cgi-bin이라는 특정한 디렉토리에서 관리된다.
13
15.5 CGI 프로그램이 가능한 언어들



C/C++, Fortran, PERL, TCL, Any Unix Shell, Visual Basic,AppleScript
웹 클라이언트/서버간의 CGI를 이용한 데이터 흐름
CGI를 이용하여 넘겨주는 문서 형태
문서 전체를 text로
 다른 문서의 위치를 참조할 수 있도록 <a href=" ... ">


Fill-out Form을 이용한 CGI
사용자와 registration, order, query
등의 인터페이스를 추가
 여러 개의 Form field를 가질 수 있다.
 Form은 보통 CGI와 연계되어 작동된다.
<form action="url" method=get>

14
15.6 C를 이용한 CGI

Html 문서 작성

CGI 작성

CGI로 디바이스 제작
15