파워노트

nginx 설치 본문

Linux

nginx 설치

파워킴 2021. 11. 28. 03:48
반응형

NGINX 

  • nginx : http://nginx.org
  • 간단하게 말해 apache와 같은 webserver 이다..
  • 특징적인 측면에서 보자면  event driven 방식 Non blocking 처리 방식으로 동작한다. 
  • single thread 기반으로 동작되므로 context switching이 일어나지 않아 자원활용에 유리하다.
  • 단점으로는 single thread 기반으로 동작되므로 과도한 i/o 사용이 빈번하면  성능이 저하된다.  i/o 읽기 쓰기가 자주 발생한다면 apache( multi thread 처리 기반 )가 더유리하다.
  • 캐시 기능, 프록시 서버, 로드밸런싱 등의 용도로 많이 사용된다.  

 

Nginx 설치 하기

  •  다운로드 사이트에서 최신 stable 버전 다운로드 : http://nginx.org/en/download.html
  • 다운로드 후 압축 풀기  
    curl http://nginx.org/download/nginx-1.20.2.tar.gz --output nginx-1.20.2.tar.gz
    tar xvfz nginx-1.20.2.tar.gz​
  • nginx 설치시 필요 라이브러리 설치   
    # make 
    sudo yum install make
    
    # gcc
    sudo yum install gcc
    sudo yum install gcc-c++


  •  dependency 설치  :  
    - https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-nginx-dependencies
    # PCRE 
    $ wget http://kent.dl.sourceforge.net/sourceforge/pcre/pcre-8.44.tar.gz
    $ tar -zxf pcre-8.44.tar.gz
    $ cd pcre-8.44
    $ ./configure
    $ make
    $ sudo make install
    
    # zlib
    $ wget http://zlib.net/zlib-1.2.11.tar.gz
    $ tar -zxf zlib-1.2.11.tar.gz
    $ cd zlib-1.2.11
    $ ./configure
    $ make
    $ sudo make install
    
    # openssl 
    $ wget http://www.openssl.org/source/openssl-1.1.1g.tar.gz
    $ tar -zxf openssl-1.1.1g.tar.gz
    $ cd openssl-1.1.1g
    $ ./Configure darwin64-x86_64-cc --prefix=/usr
    $ make
    $ sudo make install


  •  configurer
    ./configure \
    --prefix=/home/opc/nginx/nginx-app \
    --with-http_ssl_module \
    --with-stream \
    --with-pcre=../pcre-8.44 \
    --with-zlib=../zlib-1.2.11 \
    --without-http_empty_gif_module
     
    • 나의 경우 오라클클라우드에 서버를 설치 하였다. 
      /home/opc/nginx/nginx-app 의 경로에 nginx 를 인스톨 하도록 디렉토리를 지정하여 configure 를 진행하였다.
  • make , make install 
    sudo make
    
    sudo make install
    • 최종결과물이 /home/opc/nginx/nginx-app 에 설치된것을 확인 할 수 있다. 

 

Nginx 실행 , 정지

  • sudo ./nginx : 기동.  ( /home/opc/nginx/nginx-app/sbin )
  • nginx -s stop : 정지
  • nginx -s reload : 재기동 

 

Nginx process 확인 및 기타 사항 확인 

  • 모든것이 다 설정 및 설치가 잘되었다면 sudo ./nginx 로 기동한 이후 프로세스가 잘 떠있는지 확인한다.
  • webserver index page 호출 확인 
  • 430 페이지가 호출될 경우 권한 허용의 문제가 있는것이다. conf/nginx.conf 의  제일 위쪽의 user 를 수정한다.
    #user nobody; -> user root; 
  • 다시 확인을 위해 재기동 한다. 
    • nginx -s reload
    • url localhost | head   
  • 페이지 호출이 정상적이면 nginx 서버는 정상적으로 실행된것이다. 

 

방화벽 설정. 

  • 브라우져를 통해  해당 인스턴스의 ip를 입력시 웹페이지가 나타나지 않는다면 . 방화벽의 문제 이다.
  • telnet xxx.xxx.xxx.xxx 80 ( 아래와 같으면 방화벽 설정이 정상적. 그렇지 않다면... 포트 설정을 해주어야 한다. )  


  • centos 기준으로 80 포트 허용 설정.  
    # 포트 설정 
    sudo iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

 

 

 

마무리

 

  • nginx 를 직접 다운로드 하여 컴파일 및 설치까지 진행하였다.
  • 80 포트를 실행하려면 root 계정 권한이 있어야 한다. 
반응형

'Linux' 카테고리의 다른 글

VI Editor 필살기  (0) 2021.04.05
[경고] 원격 호스트 식별이 변경되었습니다!  (0) 2021.02.10
리눅스 Java 프로세스 모두 죽이기.  (0) 2020.07.28
windows 10 wsl ubuntu 설치 하기.  (5) 2020.07.11
[ubuntu] mysql 설치  (0) 2020.07.11
Comments