>웹 프론트엔드 >JS 튜토리얼 >필요한 유일한 VPS 가이드: 설정부터 제작까지 간단한 단계

필요한 유일한 VPS 가이드: 설정부터 제작까지 간단한 단계

Patricia Arquette
Patricia Arquette원래의
2024-12-26 11:30:17212검색

프로덕션 준비 VPS 설정은 생각보다 훨씬 쉽습니다 - 프로덕션에 백엔드 코드를 배포하는 방법에 대한 최고의 가이드

  • ?커넥트: https://www.subham.online
  • ?GitHub: https://github.com/Subham-Maity
  • ?트위터: https://twitter.com/TheSubhamMaity
  • ?LinkedIn: https://www.linkedin.com/in/subham-xam
  • ?인스타 : https://www.instagram.com/subham_xam

현실적으로 말해 보세요... 지루하게 만드는 배포 튜토리얼에 지치셨나요? 응, 나도 마찬가지야.

저는 다른 개발자를 도우면서 뭔가를 발견했습니다. 대부분의 가이드는 작지만 매우 중요한 단계를 건너뜁니다. 다음에 무슨 일이 일어나는지 아시나요? 자정에 오류가 발생하여 50개의 브라우저 탭을 열어 무엇이 잘못되었는지 알아내려고 했습니다.

그래서 제가 이 가이드를 만들었습니다. 서버 배포의 모든 단계를 안내해 드리겠습니다. 함께 일하고 있는지 여부:

  • Node.js
  • 가세요
  • 스프링 부트(자바)
  • 러스트
  • 장고
  • 라라벨
  • 플라스크
  • 또는 다른 서버

일반적으로 사람들을 당황하게 만드는 작은 세부 사항을 다루겠습니다.

이것을 친구가 옆에 앉아 머리를 뽑지 않고도 서버 배포를 돕고 있다고 생각하십니까?.

어딘가에 막혔나요? 아래에 댓글을 달거나 저에게 직접 메시지를 보내주세요. 나는 실제로 대답한다!

서버를 올바른 방식으로 배포할 준비가 되셨나요? 시작해 보세요!

1️⃣ 첫 번째 단계 - VPS 연결

✅ 1. 호스팅 제공업체 선택

호스팅 제공업체로부터 VPS 요금제를 구매하세요.

✅ 2. 인증서 받기

프리랜서로 일하든 사무실에서 일하든 다음 세 가지가 필요합니다.

  • IP 주소: 568.82.48.166
  • 사용자 이름: 루트
  • 비밀번호: Subham@Xam_08

예:

568.82.48.166  
root  
Subham@Xam_08  

✅ 3. 터미널로 연결

터미널을 열고 다음을 입력하세요.

ssh root@568.82.48.166

✅ 4. 연결 확인

다음과 같은 메시지가 표시됩니다.

The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established.
ED33319 key fingerprint is SHA256:kLP3I9......QgQI.
This key is not known by any other names.

Are you sure you want to continue connecting (yes/no/[fingerprint])?

예라고 입력하세요.

✅ 5. 비밀번호를 입력하세요

다음으로 다음 메시지가 표시됩니다.

Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts.
root@568.82.48.166's password:

비밀번호(Subham@Xam_08)를 붙여넣고 Enter를 누르세요.

(참고: 비밀번호를 입력하는 동안 터미널에는 어떤 문자도 표시되지 않습니다. Enter 키만 누르세요.)

✅ 6. 성공!

모든 것이 정확하면 다음이 표시됩니다.

       Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64)

       * Documentation:  https://help.ubuntu.com
       * Management:     https://landscape.canonical.com
       * Support:        https://ubuntu.com/advantage

       System information as of Sat Dec 21 11:56:39 PM UTC 2024

       System load:  0.01555554443125      Processes:               292
       Usage of /:   2.1% of 20000.02GB   Users logged in:         0
       Memory usage: 5%                 IPv4 address for kms160:               568.82.48.166
       Swap usage:   0%

       * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
       just raised the bar for easy, resilient and secure K8s cluster deployment.

       https://ubuntu.com/engage/secure-kubernetes-at-the-edge

       137 updates can be applied immediately.
       To see these additional updates run: apt list --upgradable


       *** System restart required ***
       Last login: Mon Dec  9 06:55:53 2024 from 203.145.52.235
       root@ajfaljflaf:~#

root@ajfaljflaf:~#은 무엇을 의미하나요?

이 프롬프트는 호스트 이름 ajfaljflaf를 사용하여 루트 사용자로 서버에 로그인했음을 확인합니다. 이제 명령을 실행하고 서버를 설정할 준비가 되었습니다.


2️⃣ 두 번째 단계 - 시스템 준비

✅ 1. 단말기 지우기

로그인한 후 다음을 입력하세요:

568.82.48.166  
root  
Subham@Xam_08  

✅ 2. 디렉토리 확인

현재 디렉토리와 목록 파일을 확인하세요.

ssh root@568.82.48.166

예제 출력:

The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established.
ED33319 key fingerprint is SHA256:kLP3I9......QgQI.
This key is not known by any other names.

Are you sure you want to continue connecting (yes/no/[fingerprint])?

✅ 3. 패키지 목록 업데이트

최신 업데이트를 확인하려면 패키지 목록을 새로 고치세요.

Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts.
root@568.82.48.166's password:

예제 출력:

       Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64)

       * Documentation:  https://help.ubuntu.com
       * Management:     https://landscape.canonical.com
       * Support:        https://ubuntu.com/advantage

       System information as of Sat Dec 21 11:56:39 PM UTC 2024

       System load:  0.01555554443125      Processes:               292
       Usage of /:   2.1% of 20000.02GB   Users logged in:         0
       Memory usage: 5%                 IPv4 address for kms160:               568.82.48.166
       Swap usage:   0%

       * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
       just raised the bar for easy, resilient and secure K8s cluster deployment.

       https://ubuntu.com/engage/secure-kubernetes-at-the-edge

       137 updates can be applied immediately.
       To see these additional updates run: apt list --upgradable


       *** System restart required ***
       Last login: Mon Dec  9 06:55:53 2024 from 203.145.52.235
       root@ajfaljflaf:~#

경고나 오류가 발생하는 경우 이를 검토하여 필수 업데이트를 차단하지 않는지 확인하세요.

✅ 4. 설치된 패키지 업그레이드

사용 가능한 업데이트 및 업그레이드 설치:

    clear

예제 프롬프트:

    pwd
    ls

계속하려면 '예'를 입력하세요.

✅ 5. 업그레이드 메시지 처리

업그레이드 중에 구성 프롬프트가 표시될 수 있습니다.

  • 예 1: 조치 확인 Tab 키를 사용하여 "확인"을 선택하고 Enter를 누르세요.

The Only VPS Guide You

  • 예 2: 기본값 선택 기본 옵션을 선택하거나 변경한 후 Enter를 누르세요.

The Only VPS Guide You

(참고: 옵션을 전환하려면 Tab 키를 사용해야 합니다)

  • 업그레이드 완료 검토

    업그레이드가 성공적으로 완료되면 서비스를 다시 시작하라는 메시지가 표시됩니다.

        root@hdicj8psx6:~# pwd  
        /root  
        root@hdicj8psx6:~# ls  
        snap  
    

    필요에 따라 서비스가 다시 시작되거나 연기되었음을 확인합니다.


3️⃣ 세 번째 단계 - 적절한 인증을 통해 종속성 및 복제 저장소 설치

✅ 1. Node.js 설치

Node.js를 설치하려면 다음을 실행하세요.

    sudo apt update

이렇게 하면 Node.js가 설치됩니다.

✅ 2. Git 설치

Git을 설치하려면 다음을 실행하세요.

    Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease  
    Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]  
    Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease  
    Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release  
      404  Not Found [IP: 185.125.190.80 443]  
    Reading package lists... Done  

✅ 3. 저장소를 GitHub에 푸시

코드가 아직 GitHub에 푸시되지 않은 경우 로컬 컴퓨터에서 다음 단계를 따르세요.

    sudo apt upgrade

추가 유용한 명령:

    124 upgraded, 13 newly installed, 0 to remove, and 0 not upgraded.  
    Need to get 537 MB of archives.  
    After this operation, 679 MB of additional disk space will be used.  

참고: 인증 오류가 발생하는 경우 다음을 수행해야 합니다.

  1. SSH 키를 설정하세요.
  2. 비밀번호 대신 개인 액세스 토큰을 사용하세요.
  3. 인증에는 GitHub CLI(gh)를 사용하세요.

지침은 이 가이드를 참조하세요.

✅ 4. 저장소 복제

  • GitHub에서 HTTPS 링크를 복사하세요.

    예:

    The Only VPS Guide You

  • 저장소 복제:

    568.82.48.166  
    root  
    Subham@Xam_08  
    

처음 연결하는 경우 다음과 같은 메시지가 표시됩니다.

ssh root@568.82.48.166

✅ 5. 인증 문제 해결

위의 오류가 발생하면 다음 단계를 따르세요.

  • GitHub CLI(gh) 설치:

    The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established.
    ED33319 key fingerprint is SHA256:kLP3I9......QgQI.
    This key is not known by any other names.
    
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    
  • GitHub으로 인증:

    Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts.
    root@568.82.48.166's password:
    

    안내를 따르세요.

    • GitHub.com을 선택하세요.
    • 프로토콜로 HTTPS를 선택하세요.
    • 웹 브라우저로 로그인을 선택하여 GitHub 자격 증명을 사용하여 Git을 인증하세요.

    예제 프롬프트:

           Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64)
    
           * Documentation:  https://help.ubuntu.com
           * Management:     https://landscape.canonical.com
           * Support:        https://ubuntu.com/advantage
    
           System information as of Sat Dec 21 11:56:39 PM UTC 2024
    
           System load:  0.01555554443125      Processes:               292
           Usage of /:   2.1% of 20000.02GB   Users logged in:         0
           Memory usage: 5%                 IPv4 address for kms160:               568.82.48.166
           Swap usage:   0%
    
           * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
           just raised the bar for easy, resilient and secure K8s cluster deployment.
    
           https://ubuntu.com/engage/secure-kubernetes-at-the-edge
    
           137 updates can be applied immediately.
           To see these additional updates run: apt list --upgradable
    
    
           *** System restart required ***
           Last login: Mon Dec  9 06:55:53 2024 from 203.145.52.235
           root@ajfaljflaf:~#
    
    • 일회성 코드를 복사하고 브라우저에서 링크를 엽니다.
    • GitHub 계정에 로그인하고 코드를 붙여넣으세요.
    • 터미널로 돌아가기:
        clear
    

✅ 6. GitHub에 SSH 키 추가

GitHub에 SSH 키를 추가하려면 이 가이드를 참조하세요.

✅ 7. 저장소 다시 복제

SSH 키가 추가되면 저장소를 복제하세요.

    pwd
    ls

✅ 8. 복제 확인

복제 후 저장소가 있는지 확인하세요.

    root@hdicj8psx6:~# pwd  
    /root  
    root@hdicj8psx6:~# ls  
    snap  

4️⃣ 네 번째 단계 - 프로젝트 설정

✅ 1. 프로젝트 디렉토리로 이동

먼저, 프로젝트를 찾을 디렉터리를 나열하세요.

    sudo apt update

그런 다음 프로젝트 폴더로 이동하세요.

    Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease  
    Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]  
    Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease  
    Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release  
      404  Not Found [IP: 185.125.190.80 443]  
    Reading package lists... Done  

팁: 프로젝트 폴더의 처음 2~3자를 입력하고 Tab 키를 누르면 이름이 자동 완성됩니다.

✅ 2. 프로젝트 종속성 설치

프로젝트 폴더 내에서 다음 명령을 실행하여 필요한 패키지를 설치하세요.

    sudo apt upgrade

프로젝트 규모에 따라 몇 분 정도 걸릴 수 있습니다.

✅ 3. .env 파일 설정

프로젝트에 .env 파일이 없는 경우(일반적으로 비공개 저장소에서는 제외됨) 환경 변수를 저장할 파일을 생성할 수 있습니다.

  • 프로젝트 디렉토리에서 .env라는 새 파일을 엽니다.
    124 upgraded, 13 newly installed, 0 to remove, and 0 not upgraded.  
    Need to get 537 MB of archives.  
    After this operation, 679 MB of additional disk space will be used.  
  • 다음 형식으로 변수를 추가하세요.
Restarting services...  
/etc/needrestart/restart.d/systemd-manager  
systemctl restart nginx.service polkit.service ssh.service udisks2.service  
Service restarts being deferred:  
systemctl restart networkd-dispatcher.service  
systemctl restart systemd-logind.service  
  • 편집기를 저장하고 종료합니다.
    • Ctrl O를 누른 다음 Enter를 눌러 저장하세요.
    • 종료하려면 Ctrl X를 누르세요.

✅ 4. .env 구성 확인

.env 파일이 존재하고 올바르게 구성되었는지 확인하세요.

   sudo apt install nodejs

✅ 5. 애플리케이션 실행

마지막으로 다음을 사용하여 애플리케이션을 시작하세요.

   sudo apt install git

또는 프레임워크나 스크립트를 사용하는 경우 다음과 같은 특정 명령을 따르세요.

568.82.48.166  
root  
Subham@Xam_08  

참고: 오류가 발생하면 .env 변수를 검토하고, 설치된 종속성을 확인하고, 누락된 구성이 있는지 찾아보세요.


다음은 더 나은 구조, 명확성 및 형식을 갖춘 콘텐츠의 재작성 버전입니다.


5️⃣ 다섯 번째 단계 - 프로젝트 시작

PM2 설치

애플리케이션을 지속적으로 실행하려면 Node.js 애플리케이션을 위한 강력한 프로세스 관리자인 PM2를 사용할 수 있습니다. 가동 중지 시간 없이 다시 시작할 수 있으며 DevOps 작업이 단순화됩니다.

PM2를 전역적으로 설치하려면 다음 명령을 실행하세요.

ssh root@568.82.48.166

애플리케이션 시작

NestJS를 사용하는 경우 이 세부 가이드에 따라 PM2와 함께 NestJS 앱을 배포하세요.

? Linux Ubuntu 서버에서 PM2를 사용하여 NestJS 앱 배포

Node.js 애플리케이션으로 작업하는 경우 다음 가이드를 참조하세요.

? PM2로 Node.js 앱을 시작하는 방법

설정이 준비되면 다음을 입력하여 서버를 시작하세요.

The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established.
ED33319 key fingerprint is SHA256:kLP3I9......QgQI.
This key is not known by any other names.

Are you sure you want to continue connecting (yes/no/[fingerprint])?

브라우저를 열고 다음으로 이동하세요.

Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts.
root@568.82.48.166's password:

예:

http://404.89.46.183:3333/xam


? 일반적인 문제 처리

사이트를 차단하는 방화벽

서버에 접근할 수 없다면 방화벽 문제일 수 있습니다. 먼저 다음을 사용하여 방화벽 규칙을 확인하세요.

       Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64)

       * Documentation:  https://help.ubuntu.com
       * Management:     https://landscape.canonical.com
       * Support:        https://ubuntu.com/advantage

       System information as of Sat Dec 21 11:56:39 PM UTC 2024

       System load:  0.01555554443125      Processes:               292
       Usage of /:   2.1% of 20000.02GB   Users logged in:         0
       Memory usage: 5%                 IPv4 address for kms160:               568.82.48.166
       Swap usage:   0%

       * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
       just raised the bar for easy, resilient and secure K8s cluster deployment.

       https://ubuntu.com/engage/secure-kubernetes-at-the-edge

       137 updates can be applied immediately.
       To see these additional updates run: apt list --upgradable


       *** System restart required ***
       Last login: Mon Dec  9 06:55:53 2024 from 203.145.52.235
       root@ajfaljflaf:~#

이 명령은 현재의 모든 방화벽 규칙을 나열합니다. 포트 3333이 나열되지 않거나 오류가 발생하는 경우 Stack Overflow와 같은 플랫폼이나 GPT, Claude, Copilot, Llama와 같은 도구에서 검색하여 문제를 식별할 수 있습니다. 특정 문제를 해결하기 위한 자세한 통찰력을 제공하는 경우가 많습니다.

방화벽 규칙 업데이트

방화벽이 포트 3333에서 들어오는 트래픽을 차단하는 경우 다음을 사용하여 규칙을 업데이트하세요.

    clear

명령 분석:
-A INPUT: INPUT 체인에 규칙을 추가합니다.
-p tcp: TCP 프로토콜을 지정합니다.
--dport 3333: 포트 3333을 정의합니다.
-j ACCEPT: 이 포트의 트래픽을 허용합니다.

이제 업데이트된 규칙을 확인하세요.

    pwd
    ls

다음과 같은 내용이 표시됩니다.

    root@hdicj8psx6:~# pwd  
    /root  
    root@hdicj8psx6:~# ls  
    snap  

방화벽 규칙 유지

재부팅 후에도 방화벽 규칙이 유지되도록 하려면 netfilter-persistent 패키지를 설치하십시오.

    sudo apt update

다음을 사용하여 규칙을 저장하세요.

    Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease  
    Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB]  
    Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease  
    Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release  
      404  Not Found [IP: 185.125.190.80 443]  
    Reading package lists... Done  

PM2 프로세스 관리

  1. PM2로 애플리케이션 시작

    PM2로 서버를 시작하려면 다음 명령을 사용하십시오.

        sudo apt upgrade
    

    -f 플래그를 사용하면 PM2가 프로세스를 다시 시작하게 됩니다.

  2. 사용하지 않는 프로세스 삭제

    이전 실행의 프로세스가 있는 경우 해당 ID를 사용하여 삭제할 수 있습니다.

The Only VPS Guide You

568.82.48.166  
root  
Subham@Xam_08  

이렇게 하면 중복 프로세스로 인해 충돌이 발생하지 않습니다.

The Only VPS Guide You


이제 애플리케이션이 원활하게 실행될 것입니다! ?

_참고: SSL, nginx 및 기타 모든 관련 정보로 블로그를 업데이트하겠습니다 _

위 내용은 필요한 유일한 VPS 가이드: 설정부터 제작까지 간단한 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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