[Linux] NFS 서버 및 클라이언트 구성 (이미지 파일 업로드)

2025. 3. 4. 16:35· CS/Linux
목차
  1. NFS란?
  2. 프론트엔드 설정 (서버)
  3. NFS 패키지 설치
  4. 설정 파일에서 접근 권한 설정
  5. 백엔드 설정 (클라이언트)
  6. NFS 패키지 설치 & mount 설정
  7. 테스트
  8. 스프링 프로젝트 배포해서 연결하기
728x90

NFS란?

네트워크를 통해 원격 파일 시스템을 마치 로컬 디렉토리처럼 사용할 수 있도록 하는 프로토콜
주로 리눅스/유닉스 시스템에서 많이 사용된다.

 


프론트엔드 설정 (서버)

NFS 패키지 설치

apt install nfs-kernel-server

 

 

이미지 파일을 업로드할 디렉토리를 만들고, 권한을 777로 설정해줘서 모두 접근할 수 있고 읽기 쓰기를 할 수 있게 설정해준다.

mkdir images
chmod 777 /var/www/html/images

 



설정 파일에서 접근 권한 설정

vi /etc/exports

 

NFS 서버에서 공유할 디렉토리를 정의하는 설정이다.

NFS를 통해 특정 네트워크(10.10.10.0/24)에 /var/www/html/images 디렉토리를 공유하는 설정

/var/www/html/images [네트워크 대역]/[서브넷마스크](rw,root_squash)

 

 

 


백엔드 설정 (클라이언트)

NFS 패키지 설치 & mount 설정

apt install -y nfs-common

 

 

NFS 서버에 있는 /var/www/html/images 디렉토리를 클라이언트의 특정 폴더에 연결하여 로컬 디렉토리처럼 사용할 수 있도록 해준다.

mount -t nfs [서버 IP 주소]:/var/www/html/images [아무폴더 경로]
// mount -t nfs 10.10.10.30:/var/www/html/images /mnt

 

 


테스트

클라이언트 컴퓨터에서 a 라는 파일을 생성해준다.

 

 

 

서버 컴퓨터에서 확인하면 a 파일이 들어와있는 걸 확인할 수 있다.

 

 


스프링 프로젝트 배포해서 연결하기

 

Gradle - bootJar 로 jar 파일을 만들어준다.

 

 

해당 jar 파일을 클라이언트 컴퓨터로 옮기기

 

 

 

 

 

백엔드 서버 (클라이언트)에 환경변수를 설정해준다.

 

환경변수에 앞에 전부 export 붙이기

=> 리눅스에서는 환경변수를 설정할 때 앞에 export를 붙여야 한다. 

export DB_URL=jdbc:mariadb://[DB 서버 IP 주소]:3306/[DB 이름];
export DB_USER=[DB 유저];
export DB_PASSWORD=[DB 비밀번호];
export JWT_EXPIRED=30000;
export JWT_SECRET=[JWT secret];
export UPLOAD_PATH=/mnt

 

 

 

서버에 옮긴 후 아래 명령어로 실행해준다.

java -jar [jar 파일 이름]

 

 

 

 

 

백엔드 서버 IP의 8080 포트에 요청을 보내면 요청이 제대로 가지는 걸 확인할 수 있다.

 

 

요청이 가지면 프론트엔드 서버에 파일이 잘 저장된다.

728x90
저작자표시 비영리 변경금지 (새창열림)

'CS > Linux' 카테고리의 다른 글

[Linux] 카프카(Kafka) 서버 구성, 메시지 주고받기 실습(프로듀서, 컨슈머)  (0) 2025.03.17
[Linux] 문서 편집기 vi  (0) 2024.11.20
[Linux] 폴더, 파일 관련 명령어 / 권한  (0) 2024.11.20
[Linux] 절대경로, 상대경로 / 디렉터리 이동 / ls 명령어, 옵션  (0) 2024.11.20
[Linux] 리눅스(Linux)란? / 리눅스 구성 요소 / 리눅스 환경 준비  (0) 2024.11.20
  1. NFS란?
  2. 프론트엔드 설정 (서버)
  3. NFS 패키지 설치
  4. 설정 파일에서 접근 권한 설정
  5. 백엔드 설정 (클라이언트)
  6. NFS 패키지 설치 & mount 설정
  7. 테스트
  8. 스프링 프로젝트 배포해서 연결하기
'CS/Linux' 카테고리의 다른 글
  • [Linux] 카프카(Kafka) 서버 구성, 메시지 주고받기 실습(프로듀서, 컨슈머)
  • [Linux] 문서 편집기 vi
  • [Linux] 폴더, 파일 관련 명령어 / 권한
  • [Linux] 절대경로, 상대경로 / 디렉터리 이동 / ls 명령어, 옵션
셰욘
셰욘
셰욘
seiyeon
셰욘
전체
오늘
어제
  • 분류 전체보기 (174)
    • 알고리즘 (46)
      • 프로그래머스 (2)
      • 백준 (37)
      • 문제 유형 (7)
    • CS (41)
      • Linux (6)
      • DB (15)
      • 자료구조 (3)
      • OOP (2)
      • 아키텍처 (0)
    • BE (42)
      • Java (9)
      • Spring Boot (32)
    • FE (18)
      • Next.js (1)
      • JavaScript (5)
      • Vue.js (7)
      • Web (0)
    • 배포 (5)
    • 회고 (18)
      • BEYOND SW 캠프 (18)
    • 기타 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 블로그 관리

공지사항

인기 글

태그

  • spring boot
  • web
  • 우선순위 큐
  • DP
  • fe
  • 구현
  • 티스토리챌린지
  • 프로그래머스
  • dfs
  • be
  • 리눅스
  • Gateway
  • 백준
  • 주간회고
  • 알고리즘
  • db
  • 자료구조
  • Java
  • 오블완
  • bfs
  • 트리
  • 네트워크
  • vue
  • cs
  • 회고
  • 백트래킹
  • js
  • 실습
  • AWS
  • 그리디

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.v4.2.1
셰욘
[Linux] NFS 서버 및 클라이언트 구성 (이미지 파일 업로드)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.