일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- MRC
- 회원가입로직
- 파생상품평가
- Ajax
- register
- 로그인 로직
- 배포
- Styled Components
- 공통메서드
- userManagement
- Token
- jsonwebtoken
- 밸류즈
- 스프링시큐리티
- Update
- react
- stock option
- 밸류즈 홈페이지
- mypage
- 캘린더 라이브러리
- 로그인
- Typesciprt
- RCPS
- ui탬플릿
- 관리자페이지
- 이미지 업로드
- 인증처리
- 빌드 및 배포
- 마이페이지
- 달력 라이브러리
- Today
- Total
I T H
[포트폴리오 프로젝트 11] 메이븐 빌드 및 서버 배포 본문
이번 챕터에서는 메이븐을 이용한 프로젝트 빌드 및 운영 서버 배포 방법에 대해 작업을 진행하고자 한다.
[ pom.xml ]
Pom.xml 파일의 내용 중 프로젝트명을 일괄 수정하여 준다.
Homepage -> myPortfolio
228 라인 쯤에 파이널 네임이 "<finalName>myPortfolio</finalName>" 와 같이 수정되어야 한다.
파이널 네임이 최종적으로 만들어질 xxx.war 파일의 이름이 된다.
추가로 쿼리 매핑이 되어있는 xml 파일들을 빌드 시 포함시키기 위해 아래 구문을 추가하여 준다.
<build>
<finalName>myPortfolio</finalName>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
.. 생략
[ 이미지 업로드 경로 수정 ]
로컬 환경과 운영서버의 환경이 서로 다르므로
이미지를 업로드 하는 경로를 다르게 수정해주어야 한다.
(추후 xml 환경에서의 프로젝트 진행 시에는 운영서버, 로컬테스트용 환경 설정 파일을 구분하여 번거로운 수정 작업을 하지 않도록 해볼 예정)
해당 프로젝트에는 이미지 업로드를 위해 사용한 경로가 총 2개로
각각 아래와 같이 수정하여 준다.
[ AdminController.java ]
//String path = context.getRealPath("/resources/images/profile"); // 로컬
String path = "/home/UPLOAD_IMG/profile"; // 운영서버
[ PortfolioController.java ]
//String path = context.getRealPath("/resources/images/portfolio");// 로컬
String path = "/home/UPLOAD_IMG/portfolio"; // 운영서버
[빌드 방법 ]
프로젝트를 선택하고 마우스 우측 클릭을 통해 위와 같이 Run As > Maven clean 을 진행한다.
빌드하기 전에 클린 작업을 진행하는 것으로 불필요한 파일 등을 정리해주는 작업이라고 생각하면 된다.
위와 같이 BUILD SUCCESS 문구가 나오면 정상 클린.
이번에는 메뉴 중 “ Run As > Maven install” 을 실행하여 준다.
마찬가지로 성공이 된다면
특정 폴더에 war 파일이 생성이 된다.
War 파일이 생성되는 경로는 PC마다 다르므로..
To ~~~~.war 파일 문구를 찾아서 해당 폴더에 war 파일이 생성이 되었는지 확인한다.
버전 정보까지는 필요 없으므로
myPortfolio.war 파일로 이름을 변경하여 주고 바탕화면 등에 위치 시킨 후
SFTP를 통해 서버에 파일을 업로드 한다.
[ SFTP ]
리눅스 기반의 OS에서 파일 업로드 및 다운로드를 하기 위한 프로토콜로
SSH 포트와 동일하게 22번 포트 (기본 포트 22 port) 를 사용하여 접속한다.
SFTP 접속은 무료 툴인 파일질라(https://filezilla-project.org/) 를 통해 접속이 가능하다.
해당 링크에서 파일을 다운로드 받아서 설치한다.
첫번째 항목인 FileZilla > Download 버튼 클릭하여 다운 및 설치 진행
정상 설치 후 아래와 같은 창에서 접속정보를 입력 후 접속한다.
- 컨트롤키 + s 버튼을 클릭하면 사이트 관리자가 나온다.
- New site 버튼을 클릭하고 사이트명을 입력하고, 아래 요소들을 입력한다.
- 프로토콜 : SFTP 로 선택
- 호스트
- 포트 : 22
- 사용자 : root
- 비밀번호
정상 접속이 되면 /root 경로가 디폴트 경로로 접속이 된다.
우리가 작업할 공간은 여기가 아니라
/home 디렉터리(폴더라는 뜻) 에서 작업을 할 것이다.
리모트 사이트에 /home 을 입력하고 엔터키를 치면 폴더 이동이 된다.
서버로 업로드할 파일들을 드래그 앤 드랍을 통해 넣어주면 끝!
- 서버 업로드 예시
/home/apache-tomcat-8.0.46/webapps에 myProtfolio.war 파일을 넣었다.
[ SSH ]
명령어 기반(CMD)의 리눅스 계열 OS(운영체제)에 접속하여 명령어를 통해 관리하기 위한 접속 프로토콜로 대표적으로 putty 라는 프로그램을 통해 접속이 가능하다.
여기서 명령어 기반이라는 뜻은 윈도우처럼 마우스로 프로그램 클릭 등을 하는 것이 아닌 (GUI – graphic user interface 가 아닌) 명령어 줄로만 모든 행위를 처리하는 것을 말한다.
Download PuTTY - a free SSH and telnet client for Windows
Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W
www.putty.org
putty를 통해 서버에 접속하고자 한다.
위 사이트에서 파일을 다운로드 받고 설치를 진행한다.
프로그램을 실행하면 아래와 같은 창이 나온다.
접속 정보는 SFTP 접속과 유사하게 Host Name과 Port : 22를 입력하고 Open 버튼을 클릭한다.
해당 창에서 접속 정보를 입력 후 접속한다.
[ 기본 명령어 ]
- 서버 운영 배포 시 자주 사용되는 명령어 위주로 나열
cd : 디렉터리 이동 (cd /home 엔터 입력 시 해당 디렉터리로 이동하게 된다.)
ls 또는 ls -al : 리스트 보기 (현재 접속된 경로의 디렉터리 안에 파일 리스트를 출력한다.)
cp : 복사 명령어 (cp program1 program2)
mv : 파일 이동 명령어 (mv program1 /home/test/)
mkdir : 디렉터리 생성 명령어
rm -rf : 파일 및 디렉터리 삭제 명령어 (-rf 옵션이 붙으면 강제 삭제이므로 주의!!)
pwd : 현재 위치한 경로를 확인하는 명령어
server.xml로 이동해서 vi 편집기사용 : vi server.xml
ps -ef | grep tomcat : 프로세스가 실행되고 있는지 체크하는 명령어
TOMCAT 톰캣을 이용하여 서버에 프로젝트를 실행하기 위해서는 아래의 파일이 필요하다.
- JDK : 프로젝트를 로컬 컴퓨터에서 개발할 때 사용한 버전과 동일한 버전의 jdk
- Tomcat : jdk 버전과 호환되는 버전의 톰캣
Apache-tomcat-8.0.46_th 디렉터리를 사용할 예정
[ vi 편집기 사용법 ]
- vi server.xml : server.xml로 이동해서 vi 편집기사용
- shift + g : vi 편집기에서 맨밑으로 이동
- gg : vi 편집기에서 맨 위로 이동
- 문구삽입, 수정 : 단축키 i(insert)를 누르고 편집모드 시작
- 저장 : esc를 누른후 " shift + :(콜론) " 을 누른후 " wq! " 를 입력
- 빠져나오기 : esc를 누른후 " shift + :(콜론) " 을 누른후 " q" 를 입력
- 편집하고 강제로 나가고 싶을 때 : esc를 누른후 " shift + :(콜론) " 을 누른후 " q! " 를 입력
Conf/server.xml 파일에 아래 2줄 추가
- 메모장 열어서 작성 후 복사해서 넣는방법이 있음.
<Context docBase="myPortfolio" path="/" reloadable="true"/>
<Context path="/resources/images/" docBase="/home/UPLOAD_IMG/" reloadable="true"/>
- 포트번호 변경
[ 톰캣 종료 / 시작 ]
종료 : shutdown.sh 실행 시 톰캣 종료
시작 : startup.sh 실행 시 톰캣 시작
'Spring MyPortfolio Project' 카테고리의 다른 글
[포트폴리오 프로젝트 10] 메인 페이지 마무리 & 포트폴리오 상세보기 (0) | 2024.01.25 |
---|---|
[포트폴리오 프로젝트 9] 푸터 페이지 & About 페이지 (1) | 2024.01.24 |
[포트폴리오 프로젝트 8] 포트폴리오 프로젝트 구현 – 관리자 페이지 (0) | 2024.01.24 |
[포트폴리오 프로젝트 7] Q & A 게시판 구현 (0) | 2024.01.24 |
[포트폴리오 프로젝트 6] 관리자메뉴 - 사용자관리 페이지 구현 (0) | 2024.01.24 |