현실적으로 말해 보세요... 지루하게 만드는 배포 튜토리얼에 지치셨나요? 응, 나도 마찬가지야.
저는 다른 개발자를 도우면서 뭔가를 발견했습니다. 대부분의 가이드는 작지만 매우 중요한 단계를 건너뜁니다. 다음에 무슨 일이 일어나는지 아시나요? 자정에 오류가 발생하여 50개의 브라우저 탭을 열어 무엇이 잘못되었는지 알아내려고 했습니다.
그래서 제가 이 가이드를 만들었습니다. 서버 배포의 모든 단계를 안내해 드리겠습니다. 함께 일하고 있는지 여부:
일반적으로 사람들을 당황하게 만드는 작은 세부 사항을 다루겠습니다.
이것을 친구가 옆에 앉아 머리를 뽑지 않고도 서버 배포를 돕고 있다고 생각하십니까?.
어딘가에 막혔나요? 아래에 댓글을 달거나 저에게 직접 메시지를 보내주세요. 나는 실제로 대답한다!
서버를 올바른 방식으로 배포할 준비가 되셨나요? 시작해 보세요!
✅ 1. 호스팅 제공업체 선택
호스팅 제공업체로부터 VPS 요금제를 구매하세요.
✅ 2. 인증서 받기
프리랜서로 일하든 사무실에서 일하든 다음 세 가지가 필요합니다.
예:
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를 사용하여 루트 사용자로 서버에 로그인했음을 확인합니다. 이제 명령을 실행하고 서버를 설정할 준비가 되었습니다.
✅ 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. 업그레이드 메시지 처리
업그레이드 중에 구성 프롬프트가 표시될 수 있습니다.
(참고: 옵션을 전환하려면 Tab 키를 사용해야 합니다)
업그레이드 완료 검토
업그레이드가 성공적으로 완료되면 서비스를 다시 시작하라는 메시지가 표시됩니다.
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
필요에 따라 서비스가 다시 시작되거나 연기되었음을 확인합니다.
✅ 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.
참고: 인증 오류가 발생하는 경우 다음을 수행해야 합니다.
지침은 이 가이드를 참조하세요.
✅ 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:
안내를 따르세요.
예제 프롬프트:
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:~#
clear
✅ 6. GitHub에 SSH 키 추가
GitHub에 SSH 키를 추가하려면 이 가이드를 참조하세요.
✅ 7. 저장소 다시 복제
SSH 키가 추가되면 저장소를 복제하세요.
pwd ls
✅ 8. 복제 확인
복제 후 저장소가 있는지 확인하세요.
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
✅ 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 파일이 없는 경우(일반적으로 비공개 저장소에서는 제외됨) 환경 변수를 저장할 파일을 생성할 수 있습니다.
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
✅ 4. .env 구성 확인
.env 파일이 존재하고 올바르게 구성되었는지 확인하세요.
sudo apt install nodejs
✅ 5. 애플리케이션 실행
마지막으로 다음을 사용하여 애플리케이션을 시작하세요.
sudo apt install git
또는 프레임워크나 스크립트를 사용하는 경우 다음과 같은 특정 명령을 따르세요.
568.82.48.166 root Subham@Xam_08
참고: 오류가 발생하면 .env 변수를 검토하고, 설치된 종속성을 확인하고, 누락된 구성이 있는지 찾아보세요.
다음은 더 나은 구조, 명확성 및 형식을 갖춘 콘텐츠의 재작성 버전입니다.
애플리케이션을 지속적으로 실행하려면 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로 서버를 시작하려면 다음 명령을 사용하십시오.
sudo apt upgrade
-f 플래그를 사용하면 PM2가 프로세스를 다시 시작하게 됩니다.
사용하지 않는 프로세스 삭제
이전 실행의 프로세스가 있는 경우 해당 ID를 사용하여 삭제할 수 있습니다.
568.82.48.166 root Subham@Xam_08
이렇게 하면 중복 프로세스로 인해 충돌이 발생하지 않습니다.
이제 애플리케이션이 원활하게 실행될 것입니다! ?
_참고: SSL, nginx 및 기타 모든 관련 정보로 블로그를 업데이트하겠습니다 _
위 내용은 필요한 유일한 VPS 가이드: 설정부터 제작까지 간단한 단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!