반응형
Nginx

Nginx("engine-x"로 발음)는 오픈 소스, 고성능 웹 서버, 리버스 프록시 서버 및 로드 밸런서다. 2002년 Igor Sysoev에 의해 만들어졌으며 주요 초점은 성능, 확장성 및 효율적인 리소스 사용이다. 2004년에 처음 출시되어 강력한 웹 서버 소프트웨어로 사용된다.

 

무료 오픈 소스 소프트웨어이므로 누구나 BSD 라이선스의 조건에 따라 사용, 수정 및 배포할 수 있다. Nginx는 많은 양의 요청을 동시에 처리할 수 있는 기능으로 널리 사용되어 대부분의 다른 웹 서버 보다 로드 시간이 더 빠르고 성능이 더 좋다.

Nginx는 웹 서버 외에도 리버스 프록시, 로드 밸런서, 메일 프록시 및 HTTP 캐시로 사용할 수 있다. 다기능 기능 덕분에 유지 관리에 필요한 도구 및 구성의 양을 최소화하려는 조직에서 널리 사용된다. Nginx를 사용하는 유명한 회사로는 Autodesk, Atlassian, Intuit, T-Mobile, GitLab 및 DuckDuckGo가 있다.

Apache와 같은 다른 웹 서버와 비교할 때 Nginx는 더 적은 리소스와 하드웨어를 사용하며 올바르게 구성된 경우 Apache보다 더 효율적일 수 있다. 또한 Nginx는 많은 양의 요청을 동시에 처리할 수 있는 스레드가 없는 이벤트 기반 아키텍처를 사용하므로 트래픽이 많은 웹사이트에서 널리 사용된다.

Nginx를 구성하려면 sudo nano /etc/nginx/nginx.conf를 사용하여 Nginx 구성 파일을 열 수 있다. 여기에서 user, worker_processes, error_log 및 pid와 같은 지시문을 수정할 수 있다.


주요 기능
  • 웹 서버
    Nginx는 HTML, CSS 및 JavaScript와 같은 정적 파일을 사용자에게 제공한다. 많은 수의 동시 연결을 효율적으로 처리하도록 설계되어 트래픽이 많은 웹 사이트 및 웹 응용 프로그램에 적합하다.

  • 리버스 프록시 서버
    Nginx는 클라이언트의 요청을 다른 서버 애플리케이션(예: PHP, Node.js 또는 Python 기반 웹 애플리케이션)으로 전달하고 응답을 클라이언트에 반환하는 리버스 프록시 역할을 할 수 있다. 이는 로드 밸런싱, 백엔드 서버에서 작업 오프로드 및 추가 보안 계층 ​​제공에 도움이 된다.

  • 로드 밸런서
    Nginx는 로드 밸런서로서 수신 클라이언트 요청을 여러 백엔드 서버에 분산할 수 있다. 이를 통해 로드 균형을 조정하고 성능을 최적화하며 높은 트래픽으로 인한 서버 오류 위험을 줄일 수 있다.

  • SSL/TLS 지원
    Nginx는 SSL/TLS 암호화를 지원하여 클라이언트와 서버 간의 안전한 통신을 보장한다. 이는 민감한 정보를 보호하고 사용자 개인 정보 및 보안을 유지하는 데 필수적이다.

  • 구성
    Nginx는 유연하고 간단한 구성으로 유명하다. 관리자는 사람이 읽을 수 있는 텍스트 기반 구성 파일을 통해 특정 요구 사항을 충족하도록 동작을 쉽게 사용자 지정할 수 있다.

  • 확장성
    Nginx의 기능은 다양한 타사 모듈로 확장할 수 있으므로 사용자는 새로운 기능을 추가하고 다양한 사용 사례 및 요구 사항에 맞게 소프트웨어를 조정할 수 있다.

  • 크로스 플랫폼
    Nginx는 Linux, Windows, macOS 및 BSD를 포함한 다양한 운영 체제에서 사용할 수 있다. 이 교차 플랫폼 호환성으로 인해 다양한 서버 환경에서 널리 사용된다.

Nginx 설치

1. 패키지 관리자 업데이트

Debian 기반
sudo apt-get update

RedHat 기반
sudo yum update

2. Nginx 설치

Debian 기반
sudo apt-get install nginx

RedHat 기반
 sudo yum install nginx

3. Nginx 시작

sudo systemctl start nginx

4. Nginx가 실행 중인지 확인

sudo systemctl status nginx

5. 방화벽을 통한 Nginx 허용(해당하는 경우)

Debian 기반
sudo ufw allow 'Nginx HTTP'

RedHat 기반
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

이제 웹 브라우저에 서버의 IP 주소를 입력하여 Nginx에 액세스할 수 있다. 문제가 발생하면 sudo tail -f /var/log/nginx/error.log를 입력하여 Nginx 오류 로그를 확인할 수 있다.

 

6. Nginx 구성 확인(구성 파일 구문 오류 확인)

sudo nginx -t

이 명령은 구문 오류에 대한 구성 파일을 테스트하고 발견된 모든 문제를 보고한다. 구성 파일에 오류가 없으면 이 명령은 테스트가 성공했음을 나타내는 메시지를 출력한다 

반응형