상세 컨텐츠

본문 제목

2. 서버 환경설정하기 (nginx 설치)

개발 공부 (시니어코딩)/서비스 서버 구축

by letprogramming 2021. 10. 20. 18:46

본문

반응형

클라우드 서버에 접속을 했으면 이제 개발 환경을 구축을 진행한다.

현재 AWS에 올라가있는 서비스 서버는 리눅스의 CentOS 8을 운영체제로 사용하고 있다.

 

CentOS 8에서는 dnf를 이용해 패키지를 관리하는 것이 추천된다.

기존의 yum의 단점을 개선하기 위해 개발되었기 때문에 yum보다 높은 성능을 가진다.

node의 npm, yarn / 우분투의 apt-get / 파이썬의 pip 와 유사한 도구라고 생각하면 된다.

 

NGINX

첫번째로는 Nginx를 설치한다.

 

Nginx란 웹서버 중 하나이다. 대중적인 웹서버는 Apache, Nginx가 있다.

Apache와 Nginx의 차이점과 웹서버에 대한 자세한 내용은 나중에 정리를 한 번 하려고한다.

 

웹 애플리케이션의 앞단에 위치하여 클라이언트와 효율적인 HTTP통신을 하도록 지원하며, 보안적인 측면에서도 장점을 가지고 있다.

웹 서버를 이용하지 않고 서버의 포트를 개방하여 클라이언트와 서버가 직접 통신해도 되지만,

최근의 서비스들은 매우 복잡하고 사용자가 방대하므로 대부분 웹 서버를 사용해 웹 서비스의 구조를 구성하고 관리한다.

Nginx를 설치해보자

 

터미널을 이용해 서버로 접속한다.

dnf install nginx -y

명령어를 입력하면 nginx를 설치한다.

 

nginx

nginx 라는 명령어를 입력하면 nginx가 실행된다.

 

ps -ef | grep nginx

위 명령어를 입력하면 현재 nginx가 실행중인지 확인할 수 있다.

 

nginx 프로세스 확인

이렇게 master, worker 프로세스가 떠있으면 정상적으로 nginx가 실행중인 것이다.

 

nginx -s stop

명령어를 통해 nginx를 멈출 수 있다.

 

Nginx가 실행 중인 상황에서 서버의 공인 IP를 통해 웹 브라우저로 접속해보면 Welcome to Nginx!라는 문구를 볼 수 있다.

이 문구가 보이면 현재 Nginx가 정상적으로 실행중인 것이다.

즉, 나의 IP의 80포트로 접속했을 때, nginx가 Welcome to Nginx!라는 문구가 포함되어 있는 index.html을 리턴해주고 있는 것이다.

 

nginx -s reload

이 명령어는 nginx를 재시작하는 명령어이다.

 

restart와 reload의 차이점은 메모리이다.

restart는 메모리 공간 자체를 아예 새로 잡는다. 완전히 종료하고 다시 실행하는 것이다.

reload는 메모리 공간을 그대로 확보한 상태에서 비우기만 하는 것이다.

 

따라서, ps 명령어를 통해 프로세스 id, pid를 확인해보면,

restart의 경우에는 pid가 바뀌고, reload의 경우에는 pid가 그대로인 것을 확인할 수 있다.

 

반응형

Systemctl

systemctl을 통해 nginx를 데몬으로 등록한다.

nginx를 데몬으로 등록하지 않으면 서버가 오류나 어떠한 이유로 재시작될 때 다시 실행되지 않고 수동으로 다시 실행해야한다.

 

systemctl을 이용하여 등록해놓으면 자동으로 시스템이 시작될 때 nginx를 실행한다.

systemctl start nginx

위 명령어를 통해 nginx를 실행하면 시스템이 nginx를 구동한다.

 

systemctl enable nginx

위 enable 명령어를 통해 시스템이 재시작되도 nginx가 자동으로 실행되도록 할 수 있다.

systemctl에 등록된 프로세스를 중단하기 위해서는 stop을 이용하면 된다.

 

systemctl stop nginx

 

만약 서버의 수정 사항을 반영하기 위해서는 nginx를 다시 실행해야 한다.

restart를 해도 되지만 그러할 경우에는 접속중인 사용자들이 모두 튕길 것이고 일시적인 서버 중단이 발생한다.

 

이를 방지하기 위해서 reload를 사용하면 서비스 중단없이 서버의 변경 사항을 적용할 수 있다.

반응형

관련글 더보기