>운영 및 유지보수 >엔진스 >NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법

NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법

王林
王林원래의
2023-09-27 08:01:22870검색

NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법

NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법

인터넷의 인기로 인해 VPS(Virtual Private Server)는 많은 웹사이트와 애플리케이션에서 선호되는 배포 환경이 되었습니다. 그러나 보안 문제는 점점 더 중요해지고 있습니다. 이 기사에서는 NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법에 대해 설명하고 구체적인 코드 예제를 제공합니다.

NGINX는 로드 밸런싱을 달성하고 악의적인 공격으로부터 서버를 보호하는 데 도움이 되는 빠른 고성능 HTTP 및 역방향 프록시 서버입니다. PM2는 Node.js 애플리케이션이 항상 서버에서 안정적으로 실행되도록 보장할 수 있는 최신 Node.js 애플리케이션 프로세스 관리자입니다.

다음은 안전한 VPS 환경을 구축하기 위한 구체적인 단계입니다.

  1. NGINX 설치
    먼저 VPS에 NGINX를 설치해야 합니다. 구체적인 설치 단계는 NGINX 공식 문서를 참조하세요. 설치가 완료되면 NGINX 구성 파일을 편집하여 보안 매개변수를 구성해야 합니다.
  2. HTTPS 구성
    HTTPS 프로토콜은 웹사이트와 애플리케이션 간의 안전한 통신을 보장합니다. 무료 Let's Encrypt 인증서를 사용하여 HTTPS를 구현할 수 있습니다. 먼저 Certbot 도구를 설치하고 이를 통해 인증서를 신청하고 갱신해야 합니다.

    sudo apt-get install certbot 
    sudo certbot certonly --nginx

    이 명령은 NGINX 플러그인을 사용하여 인증서를 자동으로 구성합니다.

  3. 역방향 프록시 구성
    역방향 프록시는 추가 보안 및 성능 이점을 제공할 수 있습니다. NGINX를 역방향 프록시 서버로 사용하여 PM2에서 실행되는 Node.js 애플리케이션에 요청을 전달할 수 있습니다. 다음은 NGINX 구성 파일의 예입니다.

    server {
        listen 80;
        server_name example.com;
    
        location / {
            proxy_pass http://localhost:3000;  # 此处的3000是Node.js应用程序的端口
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
        }
    }

    이 구성 파일은 example.com의 모든 요청을 localhost에서 실행되는 Node.js 애플리케이션으로 전달합니다.

  4. 방화벽 구성
    방화벽은 악의적인 공격으로부터 서버를 보호하는 데 중요한 부분입니다. UFW(Uncomplicate Firewall)를 사용하여 방화벽 규칙을 구성할 수 있습니다.

    sudo ufw allow OpenSSH  # 允许SSH访问
    sudo ufw allow 'Nginx HTTP'  # 允许HTTP访问
    sudo ufw enable  # 启用防火墙

    위 명령을 사용하면 SSH 및 HTTP 액세스를 허용하고 방화벽을 활성화하여 다른 잘못된 연결을 필터링하고 차단할 수 있습니다.

  5. PM2를 사용하여 Node.js 애플리케이션 관리
    PM2는 Node.js 애플리케이션이 항상 서버에서 안정적으로 실행되도록 보장하고 애플리케이션을 자동으로 시작하고 모니터링합니다. 다음은 PM2를 사용하여 애플리케이션을 관리하기 위한 샘플 명령입니다.

    pm2 start app.js --name myapp  # 启动应用程序
    pm2 list  # 查看当前运行的应用程序
    pm2 restart myapp  # 重启应用程序

    PM2는 필요에 따라 변경하고 사용자 정의할 수 있는 더 많은 명령과 기능을 제공합니다.

위 단계를 통해 NGINX와 PM2를 사용하여 안전한 VPS 환경을 구축할 수 있습니다. 물론 이는 기본적인 구성 예일 뿐이므로 특정 요구 사항에 따라 수정하고 개선할 수 있습니다. 관련 문서를 주의 깊게 읽고 이를 사용할 때 최상의 보안 관행을 따르십시오.

위 내용은 NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.