Nginx 웹 서버 설치(Centos 8)

리눅스 nginx 웹 서버 설치

리눅스 Nginx 웹 서버 vs apache 웹 서버

리눅스에서 설치되는 웹 서버는 Nginx 웹 서버와 apache 웹 서버로 나눠지며 다음과 같은 차이점을 갖고 있다.

  • 아파치는 오픈 소스 HTTP 서버인 반면 Nginx는 오픈 소스, 고성능 비동기 웹 서버 및 역방향 프록시 서버이다.
  • 아파치 HTTP 서버의 개발 및 발전은 전 세계 사용자 커뮤니티(Apache Software Foundation)에서 관리 및 유지되지만 Nginx는 2011년에 설립된 동일한 이름의 회사에서 유지 및 관리 된다.
  • Apache는 클라이언트 요청 및 웹 트래픽을 처리하는 다양한 다중 처리 모듈을 제공하지만 Nginx는 최소한의 하드웨어 리소스로 여러 클라이언트 요청을 동시에 처리하도록 설계되었다.
  • 아파치에서 단일 스레드는 하나의 연결과 연결되지만 Nginx의 단일 스레드는 여러 연결을 처리할 수 있다. 이 프로세스는 메모리를 적게 소모하여 성능이 향상시킨다.
  • 아파치 HTTP Server에는 확장성이 없는 다중 스레드 아키텍처지만 Nginx는 여러 클라이언트 요청을 처리하기 위한 비동기 이벤트 기반 접근 방식을 따마란다.
  • 아파치 서버는 기존의 메서드를 사용하여 정적 콘텐츠를 제공하고 웹 서버 자체 내에서 기본적으로 동적 콘텐츠를 처리한다. 반면 Nginx는 동적 콘텐츠를 내부적으로 처리할 수 없고 위해 외부 프로세스에 의존합니다.

즉, 보안 및 안정성 측면에서는 apache가 효율 및 속도 측면에서는 nginx가 상대적 장점을 갖고 있다. Centos 8 RHEL & REMI Repository 활성화를 진행하고 설치한다.

nginx 웹 서버 설치

1. 업데이트
sudo dnf update
2. nginx 검색 및 버전 확인
sudo dnf list install nginx
nginx 웹 서버
3. nginx 설치
sudo dnf install -y nginx.x86_64
nginx 웹 서버
3. nginx 상태 확인
sudo systemctl status nginx
nginx 웹 서버
4. nginx 시작

Ctrl+c 키를 눌러 빠져 나온 후 nginx를 시작한다.

sudo systemctl start nginx
nginx 웹 서버

부팅시 자동 실행 되도록 enable 시켜준다. 다음 명령어를 실행하지 않으면 부팅시 running 상태가 아닌 dead 상태로 구동된다.

sudo systemctl enable nginx

firewall 방화벽 설정

1. 방화벽 상태 확인
sudo firewall-cmd --state
2. firewall 목록 확인
sudo firewall-cmd --zone=public --list-all
nginx 웹 서버
3. http(80) 포트 추가
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
4. 방화벽 갱신
sudo firewall-cmd --reload

다음 명령어로 확인하면 ports의 80/tcp 항목이 추가된 걸 확인할 수 있다.

sudo firewall-cmd --state
nginx 웹 서버

만약 포트를 삭제하려 한다면 다음 명령어를 활용해서 열린 port를 삭제할 수 잇다.

firewall-cmd --permanent --zone=public --remove-port=80/tcp
5. 웹 접속 확인

웹 브라우져에서 ip주소를 입력해서 다음과 같은 화면이 나오면 된다.

nginx 웹 서버

웹 브라우저에서 에러가 나온다면 nginx의 status를 확인해서 정상적으로 작동되는 지를 확인한다. 그 다음 방화벽이 작동하고 있으며 80번 port가 열려 있는지를 확인한다.

이전 포스트

참고 – 방화벽 설정

Nginx 웹 서버 설치(Centos 8)
Scroll to top