NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법
인터넷의 인기로 인해 VPS(Virtual Private Server)는 많은 웹사이트와 애플리케이션에서 선호되는 배포 환경이 되었습니다. 그러나 보안 문제는 점점 더 중요해지고 있습니다. 이 기사에서는 NGINX 및 PM2를 사용하여 안전한 VPS 환경을 구축하는 방법에 대해 설명하고 구체적인 코드 예제를 제공합니다.
NGINX는 로드 밸런싱을 달성하고 악의적인 공격으로부터 서버를 보호하는 데 도움이 되는 빠른 고성능 HTTP 및 역방향 프록시 서버입니다. PM2는 Node.js 애플리케이션이 항상 서버에서 안정적으로 실행되도록 보장할 수 있는 최신 Node.js 애플리케이션 프로세스 관리자입니다.
다음은 안전한 VPS 환경을 구축하기 위한 구체적인 단계입니다.
HTTPS 구성
HTTPS 프로토콜은 웹사이트와 애플리케이션 간의 안전한 통신을 보장합니다. 무료 Let's Encrypt 인증서를 사용하여 HTTPS를 구현할 수 있습니다. 먼저 Certbot 도구를 설치하고 이를 통해 인증서를 신청하고 갱신해야 합니다.
sudo apt-get install certbot sudo certbot certonly --nginx
이 명령은 NGINX 플러그인을 사용하여 인증서를 자동으로 구성합니다.
역방향 프록시 구성
역방향 프록시는 추가 보안 및 성능 이점을 제공할 수 있습니다. 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 애플리케이션으로 전달합니다.
방화벽 구성
방화벽은 악의적인 공격으로부터 서버를 보호하는 데 중요한 부분입니다. UFW(Uncomplicate Firewall)를 사용하여 방화벽 규칙을 구성할 수 있습니다.
sudo ufw allow OpenSSH # 允许SSH访问 sudo ufw allow 'Nginx HTTP' # 允许HTTP访问 sudo ufw enable # 启用防火墙
위 명령을 사용하면 SSH 및 HTTP 액세스를 허용하고 방화벽을 활성화하여 다른 잘못된 연결을 필터링하고 차단할 수 있습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!