뭐든 즐기면서 ;)

Linux NginX 설치 / 리눅스 NginX 설치 / Linux WebServer 본문

서버

Linux NginX 설치 / 리눅스 NginX 설치 / Linux WebServer

Tada.*+ 2021. 11. 19. 21:59
728x90

* packageManager를 통한 설치가 아닌 Compile(GCC)를 이용한 설치입니다.

  • packageManager를 사용하지 않는 이유
    1. 본인이 원하는대로 설치하기 위함입니다. (설치 위치 등)
    2. NginX의 확장 기능 모듈을 이용하기 위함입니다. (모듈 리스트 :http://wiki.nginx.org/3rdPartyModules ​)

 

설치 방법

왼쪽 라인에 있는 것이 리눅스에 설치하기 위한 tar파일 다운로드 링크입니다. 우클릭하여 링크 주소 복사를 해주세요.

 

  • tar 풀기
> wget http://nginx.org/download/nginx-1.20.2.tar.gz
> tar -zxvf nginx-1.20.2.tar.gz
  • wget 명령어를 통하여 필요한 라이브러리 다운받기
    • > wget [라이브러리 다운로드 링크주소]​
       
    • PCRE : NginX는 Perl5에서 사용하는 정규표현식 라이브러리인 PCRE를 사용합니다.
    •  OPPENSSL : https 모듈인 HttpSslModule을 사용하기 위해 필요한 라이브러리입니다.
    • zlib : ngx_http_gzip_module 모듈을 사용하기 위해 필요한 라이브러리입니다.
  • tar 명령어를 통하여 위 라이브러리들을 모두 풀어주세요.

본격적인 NginX 설치

  • GCC 설치 : 컴파일 하기 위해 C, C++ 컴파일러를 설치합니다.
    • > sudo apt-get install gcc g++;
      # 또는
      > yum install gcc-c++;

 

  • 환경설정 : configure 명령어
    • nginx의 소스 디렉토리로 이동합니다.
    • ./configure 명령어를 통해서 NginX 구동 시 함께 사용할 라이브러리들을 설정해 줍니다.
      > ./configure --with-zlib=./lib/zlib-1.2.11 --with-pcre=./lib/pcre-8.00 --with-openssl=./lib/openssl-1.0.1g --prefix=/webserver/nginx --user=root --group=root​
      
      # 옵션 설명
      --with-(zlib | pcre | openssl) : NGINX가 의존하고 있는 라이브러리들의 소스 경로
      
      --with-(http_ssl_module | debug) : NGINX를 설치할 때 ssl, debug 모듈을 활성화합니다.
      이 모듈들은 NGINX가 제공하는 내부 모듈이지만 기본적으로는 설치가 되지 않는 옵션사항입니다. 
      
      --add-module : 외부 모듈인 echo 모듈의 소스가 위치하는 디렉토리
      
      --prefix : NGINX가 설치될 기본 디렉토리를 의미합니다.
      이 디렉토리 하위에 NGINX의 실행, 로깅, 설정 파일들이 설치됩니다.
      
      --user, --gourp : --user뒤에 작성한 사용자의 권한으로 NGXIN를 실행시킵니다.
      --user뒤에 작성한 사용자가 없다면 만들어야 합니다.
      사용자의 리스트는 아래의 명령을 통해서 알 수 있습니다.
    • # 비정상적인 실행 결과입니다.
      # 없는 user를 설정하였을 때입니다.
      
      # configure 명령어 실행
      > ./configure --with-zlib=./lib/zlib-1.2.11 --with-pcre=./lib/pcre-8.32 --with-openssl=./lib/openssl-1.0.1e --prefix=/webserver/nginx --user=www-data --group=www-data
      
      # 에러 내용
      ./configure: error: invalid option ""
      # 존재하지 않는 계정과 그룹을 써서 난 에러입니다.
      # www-data 계정을 생성해 주던가, 있는 user계정을 써야 합니다.​
  • 컴파일 : make 명령어
    • > make
  • 설치 : make install 명령어
    • # 꼭 wget으로 nginx 다운 받았던 경로에서 실행 또는 make 실행한 곳에서 실행. <둘 중 어느 것인지 불확실.
      # make 명령어를 통하여 makeFile이 생성이 되고
      # make install 명령어를 통하여 makeFile에 있는 명령어들을 실행하게 만드는 것.
      > make install
      • conf = 설정파일logs = 로그 파일
      • sbin = ./sbin/nginx 실행파일(nginx 구동)
      • html = 기본 document_root
  • NginX실행
    • ./sbin 폴더 아래 nginx파일을 이용하여 실행합니다.
      • 에러 발생 : nginx: [emerg] getgrnam("roo") failed
      • Nginx에는 master process와 worker process가 있다고 합니다.
      • 해결 방법 : worker process user를 바꿔줘야 함
      • conf 폴더로 이동합니다.
      • # nginx.conf 파일을 열어서 수정합니다.
        > vi nginx.conf
      • nginx.conf 파일
      • 위 이미지에 표시한 부분을 userId에 맞게 수정해 주시면 됩니다.

    •  * 실행시 주의할 점이 있습니다. 방화벽에서 80번포트가 열려 있어야 웹서비스가 가능합니다.
      • > firewall-cmd --permanent --zone=public --add-port=80/tcp
        > firewall-cmd --permanent --zone=public --add-service=https
        
        # firewall 수정 후에는 꼭 reload 해줘야 합니다.
        > firewall-cmd --reload
    • sbin으로 이동하여 ./nginx를 다시 실행시켜 봅니다. 
# conf파일 수정 후 적용하기
> /usr/sbin/nginx -s reload
728x90
Comments