새소식

SpringBoot

🐸스프링부트 cafe24 업로드 총 정리 (세팅, 서버, DB)

  • -

 

 

 

정말정말정말 삽질을 계속 하다가 정리해서 올리는 스프링부트 cafe24 업로드 방법!

첫 티스토리 글이다. 다들 파이팅~

 


 

1. 초기 세팅

 

 

반드시 기억해야 할 것은 본인이 사용하고 있는 서버 환경과 cafe24 서버 환경을 맞추는 일이다.

프로젝트 환경을 바꿀 수 없다면, cafe24의 서버 환경을 변경하면 된다!

https://www.cafe24.com/login/

홈페이지에서 반드시 확인을 하고 시작하시길 바란다.

 

 

 

그 다음으로 중요한 것

나의 서비스 관리 > 서비스 접속관리 > FTP 를 들어가서 아이디와 도메인을 꼬옥 확인할 것!

 

 

 

[War로 배포하기 전 Setting]

아래의 2-1 과정을 통해, 기존 프로젝트가 bootWar를 생성하는데 오류가 없다면 이 과정은 넘겨도 된다.

나는 무한히 반복되는 오류에 결국 새로 프로젝트를 파서 기존 코드를 옮겨왔다. (사실 뻘짓임..ㅎ)

 

여기서 주의할 점은 반드시 Packaging을 War로 해야 한다는 점이다!

만약 cafe24에 업로드할 예정이라면, 반드시 War로 배포해야 한다!

 

https://start.spring.io에서 필요한 설정을 맞추고 다운받으면 된다.

 

 

 

GENERATE를 눌러받은 폴더를 원하는 위치로 옮겨주고

 

 

 

STS에서 해당 폴더를 import 걸어서 열어준다. 이어지는 사진을 그대로 따라해주면 된다.

 

 

 

 

 

 

 


 

2-1. 서버에 올리기

 

 

1) build.gradle 수정

 

보통 스프링부트는 기본이 Jar로 배포되게 되어 있을 것이다. 

그래서 프로젝트의 build.gradle을 열어서 아래의 코드들이 없다면 반드시 추가해주고,

gradle refresh를 꼭 해주어야 한다. 

 

코드는 사진 아래에 있으니 복붙해서 사용하시길!

id ‘war’

providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'

 

 

 

2) SpringBootServletInitializer 상속

 

최상단에 있는 "여러분 프로젝트명 + application" 을 수정해야 한다.

SpringBootServletInitializer을 상속받지 않으면 cafe24 홈 디렉토리를 찾지 못해 404 오류가 뜰 수 있다. 잊지말고 추가해주자.

@SpringBootApplication
public class 프로젝트명칭 extends SpringBootServletInitializer {
	
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(프로젝트명칭.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(프로젝트명칭.class, args);
    }
}

 

 

 

 

 

3) application.properties 수정

 

만약 DB를 사용하지 않는다면 패스해도 괜찮다(만 그런 경우가 많지 않을 것 같다)

블러처리된 곳은 순서대로 "아이디, 아이디, DB비밀번호"가 들어간다.

참고로 이때 cafe24는 비밀번호가 많다. (가입 시, FTP, DB) 비밀번호를 유의해서 사용하자. 

나는 모두 동일한 비밀번호를 사용 중이지만, 많은 경우 다를 수 있다. 주의하자!

 

헷갈리면, cafe24의 '나의 서비스 관리 > 서비스 접속관리 > FTP 비밀번호 변경 / DB 비밀번호' 에서 비밀번호 수정이 가능하다.

 

아래 코드를 복사해서 써보자.

 

# mariadb가 아니라면 자신이 사용하는 DB를 적어주면 된다
spring.datasource.url=jdbc:mariadb://localhost:3306/아이디

spring.datasource.username=아이디

spring.datasource.password=비밀번호

 

 

 

 

4) bootWar 생성

여기까지 오면 일단 반은 성공이다.

- window > show view 에서 gradle을 검색해 나오는 두 개를 열어주시고,

- Gradle Tasks에서 해당 프로젝트를 찾아 bootWar를 더블클릭하면,

- Gradle Executions에서 생성이 시작된다!

 

 

 

위치는 해당 프로젝트의 build > libs 아래에 생성된다.

참고로 아마 "~~~SNAPSHOT-0.1.1.war" 이런 식으로 파일명이 되어 있을 텐데, 미리 ROOT.war로 변경하는 것이 좋다.

안 하면 뒤에서 해야 한다!

 

 

 


 

2-2. 찐으로 서버에 올리기

 

 

1) filezilla

 

만약 filezilla가 없다면, 설치를 하고 시작해야 한다.

설치과정이 쉽고 간단하지만, 혹시 몰라 내가 참고한 블로그를 남긴다.

https://backendcode.tistory.com/260  <- 참고한 블로그

https://filezilla-project.org/  <- 여기는 사이트


호스트: 아이디.cafe24.com

사용자명: 아이디

비밀번호: FTP 비밀번호

포트: 21 (안 적어도 잘 됨)

 

여기서 왼쪽이 내 컴퓨터고, 오른쪽이 리모트 사이트다. 왼쪽 -> 오른쪽으로 옮겨서 파일을 업로드 해주면 된다.

 

 

tomcat > webapps 의 위치에 들어가 위에서 만든 ROOT.war 파일을 옮겨준다.

여기서 또 기억할 점은 War 파일이 바로 잘 풀려서 ROOT 폴더가 만들어질 때가 있고, 아닐 때가 있다.

상관없다. 어차피 뒤에서 tomcat startup을 해주면 알아서 풀린다.

 

만약 이 과정에서 ROOT 폴더가 안 생긴다고 걱정하지 말 것! 그냥 넘어갈 것!! 

 

 

 

2) PUTTY

그 다음으로는 PUTTY가 필요하다. 안 깔려 있다면, 아래의 블로그를 참고해보자.

https://ndb796.tistory.com/461  

 

Host Name에 "아이디.cafe24.com" 을 적어주고, open 으로 열자!

여기서 궁금할 수 있는데, Port가 왜 21이 아닌 22인지. Putty는 SSH 기반이라 그렇다. 중요한 건 port는 변경하지 않는다는 점.

 

 

 

들어와서 "아이디" 적고 Enter,

"FTP 비밀번호" 적고 Enter 를 해주면 root로 들어갈 수 있다.

참고로 원래 비밀번호는 적고 있는 상태(?)가 보이지 않는다. 잘 적어주고 enter를 누르면 된다.

 

 

어떤 구조인지 보여드리고 싶어서 굳이 굳이 ls를 적어서 돌아갔지만, 그대로 따라할 필요는 없다.

다만 tomcat > bin > shutdown.sh / startup.sh 의 구조로 들어가 있다는 것만 기억하자.

 

tomcat을 켤 때는 startup.sh을, 끌 때는 shutdown.sh을 작동시켜주면 된다.

 

마찬가지로 아래 코드를 복사해서 쓰면 된다.

 

cd tomcat/bin

./startup.sh

./shutdown.sh

 

 

여기까지 하면 서버에는 잘 올라가 있을 거다~!!

다만 DB를 올려야 하는 프로젝트라면 마지막 한 단계가 남았다. 가보자고!

 

 


 

3. DB 올리기

 

3가지 방법으로 DB를 업로드 할 수 있다. 그 중 (내 생각에) 가장 간단한 방법을 소개해보겠다.

다시 cafe24 홈페이지에 돌아가서, "나의 서비스 관리 > 서비스 사용현황"에서 MySQL 외부 IP 접근설정을 바꿔줘야 한다.

 

 

DB 비밀번호를 적어주고,

 

 

 

 

그럼 아이피를 적는 칸이 나온다.

만약 자신의 아이피 주소를 알지 못하면, 네이버에 검색해보자. 그대로 긁어서,

 

 

 

 

붙여 적어주면 준비는 끝났다.

 

 

 

 

HeidiSQL을 열어주자.

HeidiSQL이 아닌 경우에도 동일 방식을 적용하면 된다.

호스트명: 아이디.cafe24.com

사용자: 아이디

암호: DB비밀번호

 

 

 

이제 기존 DB를 sql로 내보내서 새로 만든 "아이디" DB에 넣어주면 된다. 

cafe24는 아이디와 동일한 명칭의 DB 하나만 제공하기 때문에, 기존 DB와 아이디명이 다르면 유의해서 옮겨야 한다.

 

 


 

 

 

후하후하 여기까지 하면, "아이디.cafe24.com" 의 위치에 프로젝트가 잘 올라가 있을 것이다!

 

정말 중요한 마지막 조언,

cafe24는 https 가 아닌 http 으로만 접속해야 한다. 아래처럼 Forbidden 되었다고 당황하지 말고, http로 변경해주면 성공이다:)

 

 

고생하셨습니다~ S2

나는 나의 최대 가능성을 원해


 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.