# 시작하며

티스토리를 시작하며 개발 관련 첫 글은 NginX 설치 방법으로 정했다.

다른 많은 내용들이 있으나 최근에 하는 프로젝트를 기준으로 하나씩 정리를 하기 위함이다.


지금 작성하는 글 같이 가이드 성의 글은 누구라도 하나씩 따라하며 완성을 하도록 할 예정임으로

이 블로그의 가이드 글을 이용하여 차근 차근 따라하면 될 것으로 예상한다.


이 글을 포함하여 가이드성 글의 거의 대부분은 AWS 환경을 기준으로 작성 될 것이다.


# 구성 현황

NginX를 설치하려는 Machine은 AWS EC2 t2.micro Type을 사용하였으며 

AMI(우연하게 만나는 어떤 개발자 분께서 "아미"라고 하셔서 못 알아 들은 적이 있었다..ㅜㅜ)는 

ubuntu server 14.04를 사용하였다.


# 의존성 라이브러리 설치

NginX를 컴파일 하려면 PCRE(Perl Compatible Regular Expression)이 필요하다.

Rewrite 모듈과 HTTP 코어 모듈을 사용하기 때문이다.


ubuntu는 apt-get을 이용하여 다음과 같이 설치가 가능하다.

Shell> apt-get install libreadline-dev libncurses5-dev libpcre3-dev \

    libssl-dev perl make build-essential


# 설치파일 다운로드

OpenResty 사이트를 방문하여 버전에 따라 선택하여 다운로드 가능하다.

아래는 OpenResty-1.9.7.4 버전을 기준으로 한다.

Shell> wget https://openresty.org/download/openresty-1.9.7.4.tar.gz


# 기본 설치

기본 설치를 기준 작성하며 추가 모듈이 필요할 경우 설정, 빌드, install을 통하여 재 구성 가능하며 

nginx restart(reload)를 사용하여 모듈 추가가 가능하다.

기본 설치를 하였을 경우 설치 경로는 "/usr/local/openresty/nginx" 이다.

# 압축 해제

Shell> tar xzvf openresty-1.9.7.4.tar.gz

ㅁㅁ

#configure(설정)

Shell> cd openresty-1.9.7.4

Shell> ./configure --with-http_ssl_module --with-pcre-jit --with-ipv6  --without-http_redis2_module --with-http_iconv_module --with-http_stub_status_module


# make(빌드)

Shell> make


# make install

Shell> sudo make install


# 컴파일 옵션

설치 전이나 혹은 설치후 모듈 추가 등의 작업을 하기 위해 configure의 옵션을 확인하여 경로, 모듈 등의 옵션을 추가 및 제거하여 설치가 가능하다.

자세한 내용은 아래 명령어를 입력하여 확인 가능하다.

Shell> ./configure --help



# NginX init script 생성

init script를 생성하여 service 명령으로 손쉽게 NginX를 컨트롤 가능하다

파일의 위치는 "/etc/init.d/" 에 위치하여야 하며 root 권한으로 생성이 가능하다.

파일을 생성한 후에는 스크립트를 실행 가능하도록 설정이 필요하다.

nginx

위 파일을 사용자 PC에 다운로드하여 NginX가 설치 된 서버로 sftp 등을 이용하여 복사 후 다음을 참고 한다.

# /etc/init.d path로 파일 복사

Shell> sudo cp nginx /etc/init.d/


# 파일 권한 설정

Shell> sudo chmod +x /etc/inid.d/nginx


# NginX Config 파일 수정

# config 파일 경로로 이동

Shell> cd /usr/local/openresty/nginx/conf


# config 파일 수정

# vi, nano 등의 편집기를 이용하여 수정

Shell> nano nginx.conf


# NginX 구동

NginX Config 파일을 자신이 원하는 내용으로 수정 후 구동이 가능하다.

수정 후 재시작전 test 명령을 통하여 config 파일에 오류가 없는지 확인하는 것이 좋으며

만약 test 명령을 잊고 구동을 한다 해도 config 파일에 오류가 있으면 구동이 되지 않으니 안심해도 된다.

# NginX Test

Shell> sudo service nginx test


#다음과 같이 나오면 테스트가 통과한 것이다

-e  Nginx Daemon Testing /usr/local/openresty/nginx/conf/nginx.conf ...

nginx: the configuration file /usr/local/openresty/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test is successful


# NginX start, restart, reload

# NginX 서버가 이미 구동 중이고 config 파일을 수정하여 재 시작을 필요료 할경우 restart 보다는 reload를 이용하여 기존에 처리되는 트래픽에 영향을 최소화 하는 것이 좋다.

Shell> sudo service nginx start(restart, reload)


# 마치며

간단하게 첫 글을 써 보았는데 블로그에 정보를 올려주신 분들께 다시 한번 감사함을 느끼게 되었다.

지금까지 받았던 도움을 이제는 나도 누군가에게는 도움이 되고자 한다.


NginX관련 된 다음 글은 아마도 Lua Script를 이용한 Kafka 연동 예제나 

Lua 모듈을 이용하여 Webserver에서 Webrequest 파싱하는 예제를 쓰지 않을까 싶다.

'Webserver & Linux > NginX' 카테고리의 다른 글

[NginX] OpenResty 설치 방법 - ubuntu server 14.04  (0) 2017.01.11

WRITTEN BY
똥쟁이찰스

트랙백  0 , 댓글  0개가 달렸습니다.
secret