Information Security ˗ˋˏ ♡ ˎˊ˗

OS/Web

[Ubuntu] Ubuntu 20.04에 Nginx 설치 및 이해

토오쓰 2021. 6. 10. 16:34

정의

엔진엑스(Nginx)는 동시접속 처리에 특화된 웹 서버이다.

트래픽이 많은 웹 사이트를 호스팅 하는데 주로 사용되는 가볍고 Apache보다 동작이 단순하며 강력하다.

 

 

역할

1) 정적 파일을 처리하는 HTTP 서버로서의 역할

2) 응용프로그램 서버에 요청을 보내는 리버스 프록시

3) 비동기 처리 방식: A가 요청을 B가 즉시 주지 않아도, 또 다른 작업 처리가 가능한 방식

 

ubuntu version: 20.04.2.0 LTS
nginx version: 1.18.0-0ubuntu1.2

 

설치

1) 서버의 패키지 목록 업데이트

sudo apt update
sudo apt upgrade
sudo apt autoremove

 

2) Nginx 설치

sudo apt install nginx
sudo apt remove nginx # 제거

 

3) 실행

sudo service start nginx
sudo service status nginx

 

[중간에 오류 발생]

"Job for nginx.service failed because the control process exited with error code." 에러 메시지가 나왔다.

 

systemctl status nginx.service

위 명령어를 입력한 결과, apache가 동작되고 있기 때문에 동작이 안된 것 같다.

"Failed to start A high performance web server and a reverse proxy server."

 

sudo /etc/init.d/apache2 stop

위 명령어를 이용하여 아파치를 중지시키고 다시 실행시킨 결과 잘 동작한다.

 

sudo service nginx start 

 

sudo service nginx status 

 

 

4) Nginx Version 확인

sudo dpkg -l nginx
nginx -v

 

5) Nginx 경로

apt-get을 이용하여 패키지 설치 방법을 이용하면 기본 폴더는 "/etc/nginx/"

sudo find / -name nginx.conf

nginx가 설치된 경로 찾기

 

파란색: 폴더, 하얀색: 설정 파일

nginx.conf: nginx가 동작해야 할 방식을 설정 값을 통해 지정, root 권한만 수정이 가능하다

 

수정하기 위해서는 

sudo vim nginx.conf

위 명령어를 통해서 파일을 열어야 한다. 해당 파일 형식은 json과 비슷하다.

 

6) nginx 구동 테스트

netstat -lntp

80번 포트가 리스닝되고 있으면 실행된 상태이다.

 

만약 netstat이 없다면 

apt install net-tools

명령어로 설치

 

 

 

 

 

참고

https://blog.dalso.org/linux/ubuntu-20-04-lts/11802

https://whatisthenext.tistory.com/123

https://jhb.kr/357