필요한 유일한 VPS 가이드: 설정부터 제작까지 간단한 단계
프로덕션 준비 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를 누르세요.
- 예 2: 기본값 선택 기본 옵션을 선택하거나 변경한 후 Enter를 누르세요.
(참고: 옵션을 전환하려면 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.
참고: 인증 오류가 발생하는 경우 다음을 수행해야 합니다.
- SSH 키를 설정하세요.
- 비밀번호 대신 개인 액세스 토큰을 사용하세요.
- 인증에는 GitHub CLI(gh)를 사용하세요.
지침은 이 가이드를 참조하세요.
✅ 4. 저장소 복제
-
GitHub에서 HTTPS 링크를 복사하세요.
예:
-
저장소 복제:
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 프로세스 관리
-
PM2로 애플리케이션 시작
PM2로 서버를 시작하려면 다음 명령을 사용하십시오.
sudo apt upgrade
로그인 후 복사로그인 후 복사로그인 후 복사-f 플래그를 사용하면 PM2가 프로세스를 다시 시작하게 됩니다.
사용하지 않는 프로세스 삭제
이전 실행의 프로세스가 있는 경우 해당 ID를 사용하여 삭제할 수 있습니다.
568.82.48.166 root Subham@Xam_08
이렇게 하면 중복 프로세스로 인해 충돌이 발생하지 않습니다.
이제 애플리케이션이 원활하게 실행될 것입니다! ?
_참고: SSL, nginx 및 기타 모든 관련 정보로 블로그를 업데이트하겠습니다 _
위 내용은 필요한 유일한 VPS 가이드: 설정부터 제작까지 간단한 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











프론트 엔드 개발시 프론트 엔드 열지대 티켓 인쇄를위한 자주 묻는 질문과 솔루션, 티켓 인쇄는 일반적인 요구 사항입니다. 그러나 많은 개발자들이 구현하고 있습니다 ...

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

기술 및 산업 요구에 따라 Python 및 JavaScript 개발자에 대한 절대 급여는 없습니다. 1. 파이썬은 데이터 과학 및 기계 학습에서 더 많은 비용을 지불 할 수 있습니다. 2. JavaScript는 프론트 엔드 및 풀 스택 개발에 큰 수요가 있으며 급여도 상당합니다. 3. 영향 요인에는 경험, 지리적 위치, 회사 규모 및 특정 기술이 포함됩니다.

이 기사에서 시차 스크롤 및 요소 애니메이션 효과 실현에 대한 토론은 Shiseido 공식 웹 사이트 (https://www.shiseido.co.jp/sb/wonderland/)와 유사하게 달성하는 방법을 살펴볼 것입니다.

JavaScript를 배우는 것은 어렵지 않지만 어려운 일입니다. 1) 변수, 데이터 유형, 기능 등과 같은 기본 개념을 이해합니다. 2) 마스터 비동기 프로그래밍 및 이벤트 루프를 통해이를 구현하십시오. 3) DOM 운영을 사용하고 비동기 요청을 처리합니다. 4) 일반적인 실수를 피하고 디버깅 기술을 사용하십시오. 5) 성능을 최적화하고 모범 사례를 따르십시오.

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

동일한 ID로 배열 요소를 JavaScript의 하나의 객체로 병합하는 방법은 무엇입니까? 데이터를 처리 할 때 종종 동일한 ID를 가질 필요가 있습니다 ...

프론트 엔드에서 VSCODE와 같은 패널 드래그 앤 드롭 조정 기능의 구현을 탐색하십시오. 프론트 엔드 개발에서 VSCODE와 같은 구현 방법 ...
