Node.js (노드), Spring Boot (스프링부트)등 우분투 설치 및 설정법, 그리고 Windows 환경에서의 주요프로그램 다운로드 방법 및 세부설치 및 설정법법 소개 > Info Tech

본문 바로가기

사이트 내 전체검색

뒤로가기 Info Tech

▒ Info Tech ▒ 네트워크/보안/해킹 ▒ 하드웨어 ▒ 소프트웨어
Information Technology Group
▒ Info Tech ▒ 네트워크/보안/해킹 ▒ 하드웨어 ▒ 소프트웨어

JAVA Node.js (노드), Spring Boot (스프링부트)등 우분투 설치 및 설정법, 그리고 Windows 환경에서의 주요…

페이지 정보

작성자 최고관리자 작성일 26-08-19 19:16 조회 14 댓글 0

본문

🟢 1. Node.js (노드)
•개념: 자바스크립트(JavaScript)라는언어를브라우저밖(서버환경)에서실행할수있게해주는구동엔진입니다.
•용도: 이 Node.js를기반으로 Express, NestJS 같은웹프레임워크를사용하여백엔드(서버프로그램)를만듭니다.
•특징: 주로실시간대화앱, 가벼운웹 API 서버, 프론트엔드(React, Vue, Next.js)를서버측에서렌더링(SSR)할때아주많이씁니다. 기본포트로보통 3000번을많이사용합니다.
🍃 2. Spring Boot (스프링부트)
•개념: 전세계와우리나라기업들이가장많이쓰는 Java(자바) 언어기반의거대하고강력한백엔드웹프레임워크입니다.
•용도: 은행시스템, 대기업쇼핑몰, 공공기관시스템(전자정부프레임워크) 등규모가크고데이터의안정성·보안이매우중요한대형백엔드서버를만들때무조건사용되는표준기술입니다.
•핵심차이점 (내장톰캣): 앞서설명해드린 Tomcat(톰캣) 기억하시나요? 일반 Java 웹앱은톰캣을따로설치해서소스를얹어야하지만, Spring Boot는프로그램내부에톰캣(Tomcat)을이미품고(내장하고) 있습니다.
•작동방식: 따라서코드를빌드하여 app.jar라는파일하나만실행하면, 내부에서자동으로톰캣이구동되면서 8080번포트로서비스를시작합니다.

 

💡한눈에 보는 요약

  • 사용자가 내 도메인(http://myhome.com)으로 접속하면 ➡️앞단에 있는 Apache(80번 포트)가 요청을 먼저 받습니다.
  • 아파치 설정에 적힌 ProxyPass를 보고 ➡️내부에서 몰래 돌고 있는 Node.js(3000번)또는 Spring Boot(8080번)파일로 신호를 휙 넘겨서 화면을 그려줍니다.

 

 

 

두 프로그램은 내부적으로 완전히 다른 포트(Node.js는 3000, Spring Boot는 8080)를 사용하기 때문에, 한 서버 안에서 독립적으로 사이좋게 공존할 수 있습니다.

요청하신 Node.js와 Java(JDK) 각각의 최신 표준 설치 가이드와 동시 운영 시 포트 매핑 방법을 알기 쉽게 정리해 드립니다.

 

🟢 1. Node.js 설치 가이드 (LTS 최신 버전)

우분투 기본 저장소 버전은 구버전인 경우가 많으므로, 전 세계 표준인 NodeSource저장소를 등록하여 안정적인 최신 LTS(장기 지원) 버전을 설치합니다.

bash

# 1. NodeSource 최신 LTS 설치 스크립트 다운로드 및 등록

curl -fsSL https://nodesource.com | sudo -E bash -

 

# 2. Node.js 패키지 설치 (npm 패키지 매니저도 함께 설치됨)

sudo apt install -y nodejs

 

# 3. 설치 확인 (버전 숫자가 정상 출력되면 성공)

node -v

npm -v

코드를 사용할 때는 주의가 필요합니다.

🍃 2. Spring Boot 구동을 위한 Java(JDK) 설치 가이드

Spring Boot 프로젝트를 실행하려면 Java 실행 환경(JDK)이 필수입니다. 여기서는 현업에서 가장 많이 쓰는 Java 17 LTS버전 기준의 설치법입니다. (만약 프로젝트가 Java 21 기반이라면 숫자만 21로 바꿔주시면 됩니다.)

bash

# 1. 패키지 목록 업데이트

sudo apt update

 

# 2. OpenJDK 17 버전 설치

sudo apt install -y openjdk-17-jdk

 

# 3. 설치 확인 (java version "17.x.x" 형태로 출력되면 성공)

java -version

코드를 사용할 때는 주의가 필요합니다.

🤝 3. 두 가지를 한 서버에서 동시에 돌리는 방법 (공존 매뉴얼)

포트가 겹치지 않기 때문에 아래처럼 터미널에서 두 프로그램을 동시에 켜두고 웹 서버(Apache 또는 Nginx)로 교통정리만 해주면 됩니다.

① 서버에서 백그라운드로 두 프로그램 각각 실행하기

bash

# [Node.js 실행 예시] 보통 pm2라는 도구를 쓰거나 백그라운드(&)로 실행합니다.

node app.js & # 💡 [설명] 내부적으로 3000번 포트로 작동하며 터미널을 닫아도 구동을 유지합니다.

# [Spring Boot 실행 예시] 빌드된 jar 파일을 백그라운드로 실행합니다.

java -jar sboot-app.jar & # 💡 [설명] 내부적으로 8080번 포트로 작동하며 백그라운드 프로세스로 상시 상주합니다.

코드를 사용할 때는 주의가 필요합니다.

 

💡여기서 & (앰퍼샌드) 기호의 아주 중요한 역할

리눅스 터미널에서 명령어 맨 뒤에 &를 붙이면, 해당 프로그램을 "백그라운드(뒷마당)"에서 실행하라는 뜻입니다.

  • 만약 & 없이 java -jar app.jar라고만 치면, 터미널 창이 그 프로그램에 완전히 장악되어 다른 명령어를 입력할 수 없습니다.
  • &를 붙여 실행하면 프로그램은 내부적으로 계속 돌아가고, 사용자는 터미널에 다른 명령어를 자유롭게 계속 입력할 수 있게 됩니다.

 

② Apache 웹 서버에서 도메인(또는 주소)별로 통로 뚫어주기

사용자가 주소창에 어떻게 치고 들어오냐에 따라 Apache가 알아서 노드나 스프링으로 신호를 분기해 줍니다.

아파치 가상 호스트 설정 파일(/etc/apache2/sites-available/000-default.conf)을 열어 아래와 같이 구성할 수 있습니다.

💡방법 A) 주소창 뒤에 글자(/node, /spring)를 붙여서 구별할 때

apache

<VirtualHost *:80>

    ServerName yourdomain.com

    ProxyPreserveHost On

 

    # 사용자가 ://yourdomain.com 로 접속하면 ➡️ Node.js(3000)로 연결

    ProxyPass /node http://127.0.0.1:3000

    ProxyPassReverse /node http://127.0.0.1:3000

 

    # 사용자가 ://yourdomain.com 으로 접속하면 ➡️ Spring Boot(8080)로 연결

    ProxyPass /spring http://127.0.0.1:8080

    ProxyPassReverse /spring http://127.0.0.1:8080

</VirtualHost>

코드를 사용할 때는 주의가 필요합니다.

💡방법 B) 아예 별도의 서브 도메인으로 구별할 때 (가장 추천하는 현업 방식)

apache

# 1. 노드 전용 가상 호스트

<VirtualHost *:80>

    ServerName ://yourdomain.com

    ProxyPreserveHost On

    ProxyPass / http://127.0.0.1:3000

    ProxyPassReverse / http://127.0.0.1:3000

</VirtualHost>

 

# 2. 스프링 전용 가상 호스트

<VirtualHost *:80>

    ServerName ://yourdomain.com

    ProxyPreserveHost On

    ProxyPass / http://127.0.0.1:8080

    ProxyPassReverse / http://127.0.0.1:8080

</VirtualHost>

코드를 사용할 때는 주의가 필요합니다.

 

앞단에 Apache나 Nginx 같은 웹 서버를 두고 연동하느냐, 아니면 웹 서버 없이 Spring Boot와 Node.js를 직접 외부에 노출하느냐에 따라 포트 설정 범위가 살짝 달라집니다.

상황별로 가장 안전하고 올바른 포트 가이드를 정리해 드립니다.

🌐 [상황 1] Apache / Nginx 웹 서버를 "함께" 쓰는 경우 (권장 방식)

앞서 배운 ProxyPass를 이용하여 아파치가 앞단에서 대리인 역할을 해주는 구조라면, 외부 사용자는 오직 80(HTTP)번과 443(HTTPS)번 포트로만 내 컴퓨터에 들어옵니다.

  • 공유기 포트포워딩: 80번, 443번만 내 PC IP로 연결합니다. (외부에 8080, 3000을 열 필요가 없습니다.)
  • 윈도우 방화벽 (wf.msc): 80번, 443번만 인바운드 규칙을 생성합니다.
  • 이유: 사용자가 80번으로 들어오면, 내 컴퓨터 내부에서 아파치가 내부 포트(8080 또는 3000)로 신호를 배달해 주기 때문입니다. 이 방식이 보안상 훨씬 안전합니다.

🔓 [상황 2] 웹 서버 없이 "직접" 접속하게 만드는 경우

만약 아파치를 쓰지 않고, 사용자가 주소창에 http://내아이피:8080 이나 http://내아이피:3000을 직접 쳐서 들어오게 하려면 말씀하신 설정이 정확히 필요합니다.

🍃 Spring Boot 직접 노출 시

  • 공유기 포트포워딩: 외부 포트 8080 ➡️내부 내 PC IP의 8080으로 포워딩 설정
  • 윈도우 방화벽 (wf.msc): [인바운드 규칙] ➡️ [포트] ➡️TCP 8080 허용 규칙 추가

🟢 Node.js 직접 노출 시

  • 공유기 포트포워딩: 외부 포트 3000 ➡️내부 내 PC IP의 3000으로 포워딩 설정
  • 윈도우 방화벽 (wf.msc): [인바운드 규칙] ➡️ [포트] ➡️TCP 3000 허용 규칙 추가

⚠️공유기 및 방화벽 설정 시 놓치기 쉬운 꿀팁

  1. 공유기 외부 포트 변경 스킬 (보안 고도화)
    외부에 8080이나 3000을 그대로 노출하면 해커들의 표적이 되기 쉽습니다. 이럴 때는 공유기 설정에서 외부 포트는 임의의 번호(예: 58080)로 정하고, 내부 포트만 8080으로 맵핑하면 외부에서는 http://내아이피:58080으로 접속해야만 내 스프링 부트(8080)로 안전하게 연결됩니다.
  2. 프로그램 자체 포트 변경법
    만약 포트가 충돌한다면 프로그램 내부 설정을 바꿀 수도 있습니다.
    • Spring Boot: application.properties 파일에 server.port=9090 이라고 적으면 8080 대신 9090으로 실행됩니다.
    • Node.js: 소스 코드 상단 app.listen(3000)의 숫자를 원하는 번호로 수정하면 됩니다.

 

🛠️아파치 설정 변경 후 안전하게 적용하는 순서

설정 파일에 주석이나 오타가 들어가서 서버가 고장 나는 것을 방지하려면, 수정 후 서비스를 바로 재시작하지 말고 아래 명령어로 먼저 문법 검사를 해보는 것이 가장 안전합니다.

bash

# 1. 아파치 설정 파일 오타/문법 검사

sudo apache2ctl configtest

 

# 화면에 "Syntax OK"라고 뜨면 안심하고 아래 명령어로 재시작합니다.

# 만약 에러가 난다면 세미콜론이나 오타가 들어간 줄 번호를 알려줍니다.

 

# 2. 아파치 서버에 설정 반영 (재시작)

sudo systemctl restart apache2

코드를 사용할 때는 주의가 필요합니다.

 

2️⃣ Spring Boot (.jar/.war) vs 일반 JSP/Servlet (.war) 배포 가이드 완벽 요약

프로젝트 종류에 따라 서버에 파일을 올리는 위치와 세팅법이 어떻게 완전히 달라지는지, 핵심만 골라 알기 쉽게 정리해 드립니다.

① Spring Boot 프로젝트를 배포하는 경우 (현대적인 방식, 가장 강력 추천)

  • 파일 형태: 보통 .jar (Java Archive)파일 단 한 개로 빌드됩니다.
  • 배포 위치: 폴더 경로 제약이 전혀 없습니다.홈 디렉토리(~/)나 사용자가 임의로 만든 폴더(예: /var/www/myapp/) 아무 데나 파일을 던져두면 됩니다.
  • 설정 및 실행 방법: 앞서 말씀드렸듯 Spring Boot는 내부에 톰캣 웹 서버를 이미 품고 있습니다. 따라서 아까 설치한 외장형 톰캣 프로그램 폴더를 아예 건드릴 필요가 없습니다.
  • 컨텍스트 경로(Context Path): 기본 주소(://yourdomain.com) 바로 밑으로 자동 세팅되므로 별도의 설정 파일 수정이 필요 없습니다. 터미널에서 아래 명령어로 직접 구동합니다.

bash

java -jar my-springboot-app.jar &

코드를 사용할 때는 주의가 필요합니다.

② 일반 JSP / Servlet 프로젝트를 배포하는 경우 (전통적인 외장형 톰캣 방식)

  • 파일 형태: 무조건 .war (Web Application Archive)파일 형태로 빌드됩니다.
  • 배포 위치: 반드시 아까 설치했던 외장형 톰캣 프로그램 내부의 webapps 폴더 안에 파일을 넣어야만 작동합니다.
    • 우분투 수동 설치 경로 예시: /opt/tomcat/webapps/
    • aaPanel 설치 경로 예시: /www/server/tomcat/webapps/
  • 설정 및 실행 방법: webapps 폴더에 ROOT.war라는 이름으로 파일을 복사해 넣으면, 톰캣 서비스가 이를 실시간으로 감지하여 자동으로 압축을 풀고 웹사이트를 구동시킵니다.
  • 컨텍스트 경로(Context Path) 제어 스킬:
    • 만약 파일명을 myapp.war로 올리면 사용자는 주소창 뒤에 ://yourdomain.com이라고 쳐야만 접속이 됩니다.
    • 만약 뒤에 주소 없이 메인 주소(://yourdomain.com)로 바로 접속하게 만들고 싶다면, 파일명을 대문자 ROOT.war로 변경하여 업로드해야 합니다.
    • 혹은 톰캣 설정 파일인 conf/server.xml 내부를 열어 <Context path="" docBase="myapp" /> 형태로 강제 매핑해 주어야 합니다.

 

 

실제 실무에서 사용하는 초간단 샘플 코드로 배포가 어떻게 이루어지는지 전체 파이프라인 가이드를 보여드리겠습니다. 그리고 우분투 터미널 명령어로 설치했던 프로그램들을 Windows 환경에서 구현하기 위한 다운로드 주소와 설치 및 사용법을 정리해드리겠습니다.

🚀 1. 공부용 가이드라인: 기술별 초간단 샘플 코드 및 실전 배포 절차

내 컴퓨터에서 코딩을 마친 후, 우분투 서버로 파일을 보내 실행하는 일반적인 흐름입니다.

🟢 Case A) Node.js 배포 실전 예시

1. 개발 소스 코드 샘플 (app.js)

내 컴퓨터에서 메모장이나 VS Code로 아래 딱 5줄짜리 자바스크립트 파일을 만듭니다.

javascript

const express = require('express');

const app = express();

 

app.get('/', (req, res) => {

    res.send('Hello, World! This is Node.js Server!');

});

 

app.listen(3000, () => console.log('Node.js app listening on port 3000'));

코드를 사용할 때는 주의가 필요합니다.

2. 서버로 전송 및 최종 구동 프로세스 (파이프라인)

  1. 파일 전송 프로그램(FileZilla 등)을 이용해 우분투 서버의 /var/www/node-app/ 폴더로 app.js 파일을 업로드합니다.
  2. 우분투 터미널을 열고 해당 폴더로 이동하여 아래 명령어를 순서대로 실행합니다.

bash

# 1. 파일이 있는 폴더로 이동

cd /var/www/node-app/

 

# 2. 웹 서버 라이브러리(express) 설치

npm install express

 

# 3. 터미널을 닫아도 꺼지지 않게 'PM2'라는 상시 구동 프로그램으로 실행

sudo npm install -g pm2

pm2 start app.js

 

# 4. (검증) 현재 잘 돌아가고 있는지 모니터링

pm2 list

코드를 사용할 때는 주의가 필요합니다.

🍃 Case B) Spring Boot 배포 실전 예시

1. 개발 소스 코드 샘플 (HelloController.java)

Java 언어로 웹 페이지에 글자를 띄우는 가장 표준적인 컨트롤러 코드입니다.

java

package com.example.demo;

 

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

 

@RestController

public class HelloController {

 

    @GetMapping("/")

    public String hello() {

        return "Hello, World! This is Spring Boot Server!";

    }

}

코드를 사용할 때는 주의가 필요합니다.

2. 서버로 전송 및 최종 구동 프로세스 (파이프라인)

  1. 내 컴퓨터 개발 툴(IntelliJ 등)에서 Build 버튼을 누르면 프로젝트 폴더 내 target/ 혹은 build/libs/ 폴더 안에 demo-0.0.1-SNAPSHOT.jar파일이 생성됩니다.
  2. 이 단 하나의 .jar 파일을 우분투 서버의 /var/www/spring-app/ 폴더로 업로드합니다.
  3. 우분투 터미널을 열고 아래 명령어로 상시 구동시킵니다.

bash

# 1. 파일이 있는 폴더로 이동

cd /var/www/spring-app/

 

# 2. nohup 명령어를 조합하여 터미널을 닫아도 백그라운드(&)에서 영원히 돌아가도록 실행

# (로그 출력을 누적 기록하는 옵션이 포함된 현업 표준 명령어 세트입니다)

nohup java -jar demo-0.0.1-SNAPSHOT.jar > output.log 2>&1 &

 

# 3. (검증) 스프링부트가 잘 켜졌는지 실시간 작동 로그 확인 (탈출은 Ctrl + C)

tail -f output.log

코드를 사용할 때는 주의가 필요합니다.

 

 

🪟 2. 공부용 가이드라인: 주요 프로그램 Windows 환경 다운로드 주소 목록

우분투가 아닌 윈도우(Windows 11 / Server 2022, 2025) 컴퓨터에 직접 실습 환경을 구축할 때 필요한 공식 안전 다운로드 주소입니다. 전부 무료로 사용 가능합니다.

1️⃣웹 서버 및 개발 언어 환경

  • Node.js (Windows용 LTS Installer)
    • 🔗공식다운로드링크
    • 설명: .msi 파일을 받아 다음(Next)만 누르면 윈도우 커맨드창(cmd)에서 node 명령어를 쓸 수 있게 됩니다.
  • Java JDK 17 (Windows용 x64 Installer)
  • Apache Tomcat 10 (Windows Service Installer)
    • 🔗공식다운로드링크
    • 설명: 페이지 중간 Core 항목에서 "32-bit/64-bit Windows Service Installer"를 받으면 윈도우 서비스(백그라운드) 형태로 톰캣을 편하게 제어할 수 있습니다.

2️⃣데이터베이스 관리 GUI 프로그램

  • DBeaver Community Edition (Windows Installer)
    • 🔗공식다운로드링크
    • 설명: 윈도우 설치용 .exe 파일입니다. 마우스 클릭으로 로컬 또는 원격 리눅스 DB를 통합 제어하는 최고의 GUI 도구입니다.

3️⃣파일 전송 프로그램 (내 컴퓨터 ➡️우분투 서버)

  • FileZilla Client (Windows 64bit)
    • 🔗공식다운로드링크
    • 설명: 내 윈도우 컴퓨터에 있는 소스 코드(app.js 나 .jar)를 원격지에 있는 우분투 서버 컴퓨터로 드래그 앤 드롭하여 안전하게 업로드(SFTP)할 때 쓰는 필수 유틸리티입니다.

🪟 3. 공부용 가이드라인: 주요 프로그램(Windows 환경) 다운로드 방법 및 세부설치 및 설정법

 

1️⃣Node.js 공식다운로드페이지에서 Windows 환경에 가장 안정적인 LTS(Long Term Support) 버전 Installer를 직접 다운로드할 수 있습니다. 현재 제공되는 안정적인 최신 LTS 버전은 v24.x.x입니다.

1. 다운로드 및 파일 선택

  • 공식 웹사이트 접속: Node.js 공식 다운로드 페이지로 이동합니다.
  • LTS 탭 확인:페이지 상단에서 LTS(권장 버전)옵션이 활성화되어 있는지 확인합니다.
  • 설치 프로그램 받기: Windows 항목의 Prebuilt Installer버튼을 클릭하여 .msi 형식의 Windows 64-bit 설치 파일을 다운로드합니다.

2. Windows 설치 순서

  1. 다운로드한 node-v24.x.x-x64.msi파일을 더블 클릭하여 실행합니다.
  2. 설치 마법사(Setup Wizard) 창이 열리면 [Next]를 누르고 이용 약관에 동의합니다.
  3. 설치 경로 설정 창이 나오면 기본값(C:\Program Files\nodejs\) 그대로 두고 [Next]를 누릅니다.
  4. Custom Setup단계에서 Node.js 런타임과 npm 패키지 매니저, 그리고 환경 변수(Add to PATH)가 기본적으로 모두 선택되어 있으므로 그대로 [Next]를 누릅니다.
  5. Tools for Native Modules단계가 나오면 필요에 따라 네이티브 모듈 컴파일용 도구(Python, Visual Studio Build Tools 등) 자동 설치 체크박스를 선택한 후 [Next]를 누릅니다. (필수가 아니면 체크 해제 상태로 넘어가도 괜찮습니다).
  6. [Install]버튼을 클릭하여 설치를 완료한 뒤 [Finish]를 누릅니다.

3. 설치 및 버전 확인 방법

Node.js는 설치 중에 환경 변수(PATH)를 자동으로 설정해 주기 때문에 컴퓨터를 재부팅할 필요 없이 바로 터미널에서 작동을 확인할 수 있습니다.

  1. 단축키 Win + R을 누르고 cmd를 입력하여 명령 프롬프트를 엽니다.
  2. 아래 명령어를 입력하여 Node.js 버전을 확인합니다:

bash

node -v

코드를 사용할 때는 주의가 필요합니다.

    • 화면에 정상적으로 v24.x.x와 같은 형식이 출력되면 성공입니다.
  1. 노드 패키지 매니저(npm)도 함께 잘 설치되었는지 확인합니다:

bash

npm -v

코드를 사용할 때는 주의가 필요합니다.

    • 버전 숫자가 표시되면 개발 환경 구축이 모두 완료된 것입니다.

 

2️⃣Oracle Java SE 17 Archive Downloads웹사이트에서 Windows용 x64 Installer설치 파일을 안전하게 다운로드할 수 있습니다.

1. 다운로드 및 설치 링크

  • 최신 17 버전 (17.0.13 이후):Oracle Java SE 17 Archive Downloads 공식페이지에 접속합니다.
  • 선택 아키텍처:화면에서 Windows탭을 선택합니다.
  • 설치 파일: jdk-17.x.x_windows-x64_bin.exe (x64 Installer) 링크를 클릭하여 다운로드합니다.

2. 윈도우 설치 방법

  1. 다운로드한 jdk-17_windows-x64_bin.exe파일을 실행합니다.
  2. Setup 창이 뜨면 [Next]버튼을 누르며 진행합니다.
  3. 기본 설치 경로는 C:\Program Files\Java\jdk-17입니다.
  4. [Close]를 눌러 설치를 완료합니다.

3. 필수 환경 변수 설정

설치 완료 후 터미널 어디서나 자바를 인식할 수 있도록 시스템 변수를 등록해야 합니다.

  1. 단축키 Win + S를 누른 뒤 "시스템 환경 변수 편집"을 검색하여 실행합니다.
  2. 하단의 [환경 변수]버튼을 클릭합니다.
  3. [시스템 변수]섹션에서 [새로 만들기]를 클릭한 후 아래 값을 입력합니다:
    • 변수 이름: JAVA_HOME
    • 변수 값: C:\Program Files\Java\jdk-17 (본인의 실제 설치 경로)
  4. 시스템 변수 목록에서 Path변수를 찾아 선택하고 [편집]을 누릅니다.
  5. [새로 만들기]를 누르고 %JAVA_HOME%\bin을 추가한 뒤 모든 창의 [확인]을 누릅니다.

4. 설치 확인 방법

  1. 단축키 Win + R을 누르고 cmd를 입력하여 명령 프롬프트를 엽니다.
  2. 창에 java -version입력 후 엔터를 누릅니다.
  3. 화면에 java version "17.0.x" 문구가 정상적으로 출력되는지 확인합니다.

 

3️⃣**Apache Tomcat 10 다운로드페이지**에서 Windows 백그라운드 서비스로 실행할 수 있는 공식 Windows Service Installer를 안전하게 다운로드할 수 있습니다.

Tomcat 10 버전부터는 패키지명이 기존 javax에서 jakarta로 변경되었으며, 구동을 위해 Java 11 이상 버전의 JDK/JRE가 미리 설치되어 있어야 합니다.

1. 다운로드 방법

  • 공식 사이트 접속: Apache Tomcat 10 Software Downloads 웹페이지로 이동합니다.
  • 설치 프로그램 선택: Binary Distributions -> Core 목록으로 스크롤을 내립니다.
  • 파일 받기:목록 하단의 32-bit/64-bit Windows Service Installer (예: apache-tomcat-10.x.x.exe) 링크를 클릭하여 다운로드합니다.

2. Windows 설치 순서

  1. 다운로드한 apache-tomcat-10.x.x.exe파일을 마우스 우클릭 후 **[관리자 권한으로 실행]**합니다.
  2. Welcome 및 이용 약관(License Agreement) 창에서 **[Next]**와 **[I Agree]**를 눌러 진행합니다.
  3. Choose Components단계에서 기본 구성 요소 외에 웹 관리자 화면을 쓰고 싶다면 **Host Manager**와 Manager항목을 체크하고 [Next]를 누릅니다.
  4. Configuration단계에서 다음과 같이 포트 및 관리자 계정을 설정합니다:
    • HTTP/1.1 Connector Port:기본값은 8080입니다. 오라클 DB 등 다른 프로그램과 충돌이 우려된다면 8081이나 8090 등으로 변경합니다.
    • Tomcat Administrator Login (선택):웹 관리자 페이지에 로그인할 때 사용할 Username과 Password를 입력합니다 (입력 후 분실하지 않도록 기억해 두세요).
  5. Java Virtual Machine단계에서 컴퓨터에 설치된 JDK/JRE 경로가 올바르게 지정되었는지 확인합니다 (Installer가 레지스트리를 읽어 자동으로 인식합니다).
  6. Destination Folder설치 경로를 지정하고(기본값: C:\Program Files\Apache Software Foundation\Tomcat 10.x), **[Install]**을 누르면 설치가 완료됩니다.
  7. 마지막 화면에서 **[Run Apache Tomcat]**에 체크하고 **[Finish]**를 누르면 서버가 즉시 가동됩니다.

3. 작동 및 Windows 서비스 확인

Windows Service Installer로 설치하면 컴퓨터를 켤 때마다 백그라운드에서 톰캣이 자동으로 실행됩니다.

  1. 웹 브라우저를 열고 주소창에 http://localhost:8080 (설정한 포트 번호)을 입력하고 이동합니다.
  2. 고양이 마스코트가 그려진 Tomcat 축하 화면이 나타나면 정상 설치된 것입니다.
  3. 서버를 수동으로 끄거나 켜야 할 때는 작업 표시줄 오른쪽 아래 시스템 트레이의 Tomcat 아이콘을 이용하거나, 윈도우 검색창에 **"서비스(Services)"**를 입력해 실행한 뒤 목록에서 Apache Tomcat 10서비스를 찾아 마우스 우클릭으로 시작 또는 중지를 제어할 수 있습니다.

 

4️⃣ **DBeaver Community 다운로드페이지**에서 다양한 데이터베이스를 관리할 수 있는 무료 오픈소스 SQL 클라이언트 Windows용 Installer설치 파일을 안전하게 다운로드할 수 있습니다.

DBeaver는 자체적으로 자바 런타임 환경(OpenJDK 부들)을 내장하고 있어, PC에 별도의 JDK가 설치되어 있지 않아도 단독 실행이 가능합니다.

1. 다운로드 방법

  • 공식 웹사이트 접속: DBeaver Community 다운로드 페이지로 이동합니다.
  • 설치 프로그램 선택: Windows 항목을 찾습니다.
  • 파일 받기:가장 대중적이고 안정적인 Windows (installer)링크를 클릭하여 설치 파일(dbeaver-ce-xx.x.x-x86_64-setup.exe)을 다운로드합니다.
  • (대안)윈도우 스토어를 선호하신다면 Microsoft 스토어의 DBeaver CE 페이지를 통해서도 간편하게 설치할 수 있습니다.

2. Windows 설치 순서

  1. 다운로드한 .exe 설치 파일을 실행합니다.
  2. 언어 선택 창이 뜨면 [한국어] (또는 영어)를 선택하고 [OK]를 누릅니다.
  3. 사용자 라이선스 계약 내용이 나오면 [동의함]버튼을 클릭합니다.
  4. Choose Users단계에서 PC의 모든 사용자가 쓸 수 있도록 **For anyone who uses this computer (all users)**를 선택하고 [다음]을 누릅니다.
  5. 구성 요소 선택(Choose Components)단계에서는 기본 설정(DBeaver Community 가 체크된 상태) 그대로 두고 [다음]을 클릭합니다.
  6. 설치 경로 지정 창(기본값: C:\Program Files\DBeaver)에서 [다음]을 누른 뒤, 마지막으로 **[설치]**를 클릭합니다.
  7. 설치 완료 창이 뜨면 **[마침]**을 눌러 종료합니다.

3. 데이터베이스 첫 연결 방법 (예: MySQL, PostgreSQL 등)

DBeaver는 실행 시점에 해당 DB 구동에 필요한 드라이버 파일을 자동으로 다운로드해 줍니다.

  1. 설치된 DBeaver Community아이콘을 클릭하여 프로그램을 실행합니다.
  2. 왼쪽 상단의 플러그 모양 아이콘인 **[새 데이터베이스 연결 (New Database Connection)]**을 클릭합니다.
  3. 연결하고자 하는 DBMS 제품군(예: MySQL, PostgreSQL, Oracle 등)을 선택하고 [다음]을 누릅니다.
  4. Connection 설정 창에 서버 정보(Host, Port, Database 이름, Username, Password)를 알맞게 입력합니다.
  5. 좌측 하단의 [Test Connection...]버튼을 누릅니다.
  6. 이때 관련 드라이버가 없다는 팝업이 뜨면 [Download]버튼을 눌러 드라이버를 자동 설치합니다.
  7. 연결 성공 확인이 끝나면 **[완료 (Finish)]**를 눌러 데이터베이스 탐색기를 사용합니다.

 

5️⃣ **FileZilla 공식다운로드페이지**에서 빠르고 안전한 오픈소스 FTP 클라이언트인 Windows 64비트용 설치 파일을 다운로드할 수 있습니다.

일반적인 웹 서버 파일 송수신 및 관리 목적이라면 부가 기능이 포함된 유료(Pro) 버전 대신 **무료 버전(Standard)**으로도 충분합니다.

1. 다운로드 방법

  • 공식 사이트 접속: FileZilla Client for Windows (64bit) 다운로드 페이지로 이동합니다.
  • 버전 선택:화면에 보이는 초록색 Download FileZilla Client버튼을 클릭합니다.
  • 에디션 선택:기능 비교 팝업창이 뜨면 가장 왼쪽에 있는 기본 FileZilla (무료 버전)아래의 [Download] 버튼을 눌러 설치 파일(FileZilla_3.x.x_win64-setup.exe)을 받습니다.
  • (주의)설치 과정 중 스폰서 프로그램(예: 추가 백신, 브라우저 등) 동의 창이 뜰 수 있으므로, 원하지 않는 경우 체크를 해제(Decline/Skip)하며 진행하는 것이 좋습니다.

2. Windows 설치 순서

  1. 다운로드한 .exe 설치 파일을 실행합니다.
  2. 라이선스 계약 창이 나오면 **[I Agree]**를 눌러 동의합니다.
  3. 제휴 프로그램 설치 권유 창(Optional Offer)이 나오면 [Decline]또는 **[Skip]**을 누릅니다.
  4. 설치 대상 선택 창에서 PC의 모든 사용자가 쓰도록 **Anyone who uses this computer (all users)**를 선택하고 [Next]를 클릭합니다.
  5. 구성 요소 선택 창에서 기본값 그대로 두고(바탕화면 아이콘 생성을 원하면 'Desktop Icon' 추가 체크) [Next]를 누릅니다.
  6. 설치 경로를 확인한 뒤 **[Install]**을 클릭하여 설치를 완료합니다.

3. 웹 서버 빠른 연결 방법

설치가 끝나고 프로그램을 실행하면 화면 상단에 원격 서버에 접속할 수 있는 입력창이 나타납니다.

  1. 호스트(Host):연결할 웹 서버의 도메인 주소나 IP 주소를 입력합니다.
  2. 사용자명(Username): FTP/SFTP 접속용 아이디를 입력합니다.
  3. 비밀번호(Password):접속 비밀번호를 입력합니다.
  4. 포트(Port):일반 FTP는 21, 보안 전송인 SFTP는 **22**를 입력합니다 (포트를 비워두면 프로토콜에 따라 자동 지정됩니다).
  5. 오른쪽의 [빠른 연결 (Quickconnect)]버튼을 누르면 서버에 접속됩니다.
  6. 연결이 완료되면 **왼쪽 화면(내 컴퓨터의 로컬 파일)**에서 **오른쪽 화면(원격 서버 파일)**으로 파일을 드래그 앤 드롭하여 쉽게 업로드/다운로드할 수 있습니다.

 

 

[SFTP] 파일을 서버로 가장 안전하게 전송하는 방법 (FileZilla 활용)

SFTP(Secure File Transfer Protocol)는 해커가 중간에 데이터를 가로채지 못하도록 암호화하여 통신하는 파일 전송 표준입니다.

  • 준비물: 앞서 윈도우에 설치한 FileZilla프로그램, 우분투 서버의 IP 주소, SSH ID 및 비밀번호(또는 .pem 키 파일)
  • 설정 및 전송 절차:
    1. 사이트 관리자 열기: FileZilla 실행 후 좌측 상단 파일 ➡️사이트 관리자 클릭.
    2. 새 사이트 추가: 새 사이트 버튼을 누르고 이름을 지정합니다. (예: 내 우분투 서버)
    3. 연동 정보 입력 (핵심):
      • 프로토콜: SFTP - SSH File Transfer Protocol선택
      • 호스트: 내 우분투 서버 IP 주소 입력
      • 포트: 기본 SSH 포트인 22입력 (비워두어도 자동 인식)
      • 로그온 유형: 비밀번호 방식이면 일반 선택 후 ID/PW 입력 / 키 파일 방식이면 키 파일 선택 후 .pem 파일 경로 지정
    4. 연결 및 전송: 하단 연결 버튼을 누르면 화면 좌측(내 윈도우 컴퓨터)과 우측(원격 우분투 서버)이 연결됩니다. 내 윈도우에 있는 .jar 파일이나 .js 폴더를 마우스로 드래그하여 우측 우분투 서버 폴더로 던지면 안전하게 전송이 완료됩니다.

[PM2] Node.js 서버 프로세스를 영원히 살려두는 기술

리눅스 터미널에서 일반 명령어로 노드를 켜면 터미널 창(Putty 등)을 닫는 순간 노드 서버도 같이 꺼집니다. 이를 방지하고 서버가 갑자기 뻗어도 자동으로 되살려주는 Node.js 표준 상시 구동 도구입니다.

  • 최초 1회 설치법 (우분투 터미널):

bash

sudo npm install -g pm2

코드를 사용할 때는 주의가 필요합니다.

  • 실전 관리 명령어 세트:

bash

# 1. 프로그램 백그라운드 상시 구동 시작 (app.js 실행 시)

pm2 start app.js --name "my-node-app"

 

# 2. 실시간 구동 상태 확인 (초록색 online 표시 확인)

pm2 list

 

# 3. 노드 서버가 출력하는 로그(에러, 접속 로그) 실시간 모니터링

pm2 logs "my-node-app"

 

# 4. 소스 코드를 수정했을 때 안전하게 재시작

pm2 restart "my-node-app"

 

# 5. 서버 컴퓨터가 아예 재부팅되어도 자동으로 pm2가 다시 켜지게 등록하는 스킬

pm2 startup

pm2 save

코드를 사용할 때는 주의가 필요합니다.

[nohup] Spring Boot (.jar) 서버 프로세스를 영원히 살려두는 기술

Java/Spring Boot 진영에서는 별도의 프로그램을 설치하지 않고, 리눅스 자체 내장 명령어인 nohup(No Hang Up: 전화를 끊지 마라)과 백그라운드 기호(&)를 조합하여 상시 구동 체계를 만듭니다.

  • 실전 구동 명령어 세트:

bash

# 1. 터미널을 닫아도 꺼지지 않는 백그라운드 무한 구동 명령어 (통째로 복사해서 실행)

nohup java -jar demo-0.0.1-SNAPSHOT.jar > output.log 2>&1 &

코드를 사용할 때는 주의가 필요합니다.

  • 💡명령어 각 요소의 아주 중요한 의미 해석:
    • nohup: 사용자가 원격 터미널 접속을 끊어도 이 프로세스는 종료 신호를 무시하고 계속 구동됩니다.
    • > output.log: 프로그램이 콘솔 창에 찍어내는 모든 로그 글자들을 output.log라는 텍스트 파일에 실시간으로 차곡차곡 저장하라는 뜻입니다.
    • 2>&1: 에러 메시지(2)도 일반 메시지(1)와 똑같이 한곳에 묶어서 로그 파일에 기록하라는 옵션입니다.
    • &: 이 명령어를 백그라운드로 넘겨 터미널 창을 자유롭게 계속 쓸 수 있게 만듭니다.
  • 로그 확인 및 안전한 종료 방법:

bash

# 2. 스프링부트가 잘 켜졌는지 실시간 작동 상태 감시 (탈출은 Ctrl + C)

tail -f output.log

 

# 3. 켜져 있는 스프링부트 서비스를 안전하게 끄고 싶을 때 (프로세스 번호 조회)

ps -ef | grep java

# (출력 내용 중 내 jar 파일 옆에 나오는 숫자(PID: 예시 14522)를 확인합니다.)

 

# 4. 확인한 프로세스 번호를 강제 종료하여 서버 정지

kill -9 14522

코드를 사용할 때는 주의가 필요합니다.

이로써 로컬 개발부터 안전한 파일 전송, 그리고 리눅스 서버에서 웹 애플리케이션을 영원히 다운되지 않게 유지하는 인프라 운영의 핵심 파이프라인 지도가 완성되었습니다.

 

댓글목록 0

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.

사이트 정보

회사명 : 회사명 / 대표 : 대표자명
주소 : OO도 OO시 OO구 OO동 123-45
사업자 등록번호 : 123-45-67890
전화 : 02-123-4567 팩스 : 02-123-4568
통신판매업신고번호 : 제 OO구 - 123호
개인정보관리책임자 : 정보책임자명

PC 버전으로 보기