LINUX/Docker

[Docker] nginx 1.9.2 설치 하기

lahuman 2015. 6. 17. 14:24
728x90

Centos 또는 fadora 등에서 NGINX를 yum으로 설치할 경우 버젼은 1.6.3 입니다.(2015년 7월 6일 기준)

최신 1.9.2 버젼에서 몇가지 오류(1.9.1 버젼의) 수정과 stream moudle 의 성능관련 많은 변화가 있어, 설치를 해보았습니다.

(현재 안정화된 버젼은 1.8.0 입니다. 혹시 서비스를 하실 분은 안정화 버젼 사용을 추천 드립니다.)


다음 내역은 여기 에서 해당 파일을 다운 받을 수 있습니다.


우선 nginx.org 사이트에서 최신 버젼을 다운 받습니다.


TIP : 만약 Docker를 이용하지 않으실 분은 다운로드 이후, run.sh만 따라서 진행하시면 설치가 가능합니다.


Dockerfile을 생성합니다.

# lahuman@daum.net 

FROM centos:centos7
MAINTAINER The CentOS Project 

RUN yum -y update; yum clean all
RUN yum -y install epel-release tar ; yum clean all
#RUN yum -y install gcc-c++ zip unzip wget openssl pcre-dev pcre-devel zlib-devel make ; yum clean all
RUN yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel

# 다운 로드 진행 혹시 동작 하지 않을 경우, 수동으로 처리 하셔요.
RUN  wget http://nginx.org/download/nginx-1.9.2.tar.gz
RUN tar -xvzf nginx-1.9.2.tar.gz


# Dokcerfile에서 설정을 진행 하였을 경우 오류 발생 하여 멈추는 현상 있습니다. Shell 파일로 처리 하셔요.
ADD run.sh /run.sh
RUN /run.sh

EXPOSE 80

CMD [ "/usr/sbin/nginx" ]


run.sh 파일을 생성합니다.

#!/bin/sh

cd /nginx-1.9.2
./configure \
--user=nobody                          \
--group=nobody                         \
--prefix=/etc/nginx                   \
--sbin-path=/usr/sbin/nginx           \
--conf-path=/etc/nginx/nginx.conf     \
--pid-path=/var/run/nginx.pid         \
--lock-path=/var/run/nginx.lock       \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module        \
--with-http_stub_status_module        \
--with-http_ssl_module                \
--with-pcre                           \
--with-file-aio                       \
--with-http_realip_module             \
--without-http_scgi_module            \
--without-http_uwsgi_module           \
--without-http_fastcgi_module

make

make install

/usr/sbin/nginx



우선 Docker 에서 이미지를 생성 합니다. 이미지 생성 명령은 다음과 같습니다.

docker build --rm -t lahuman/nginx1.9.2 .


이후, Container를 생성 및 기동 합니다.

(/bin/bash로 실행 후, 다시 nginx를 기동 해야 합니다. 아마, nginx만 실행후 바로 컨테이너가 종료 되는 듯 하네요.)

docker run --name=nginx -d -it -p 8800:80 lahuman/nginx1.9.2 /bin/bash


마지막으로 해당 컨테이너에 접근 후 nginx를 기동 합니다.

docker exec -it nginx /bin/bash
/usr/sbin/nginx


이렇게 설치를 하고 화면을 확인 하면, 다음과 같습니다.





추가 nginx기초 명령어 (참고)

#기본 시작 명령어
/usr/sbin/nbinx

#중지 명령어
/usr/sbin/nginx -s stop



추가적으로 SSL 설치 관련 내용 참고 : 

https://haandol.wordpress.com/2014/03/12/nginx-ssl-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0startssl-com%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC/



설치 참고 :

https://www.digitalocean.com/community/tutorials/how-to-compile-nginx-from-source-on-a-centos-6-4-x64-vps

728x90