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 |