본문 바로가기
IT일반/Strapi

strapi mysql을 heroku 에 배포해보기

by xavi2019 2022. 3. 31.

먼저 mysql(mariadb) 을 준비한다.

heroku는 지원하지 않으므로 다른 클라우드에 설치합니다.

EC2에 직접 설치하든, RDS를 쓰든...

오라클 클라우드에 직접 설치를 하든,

외부에서 접속 가능한 mysql 접속 정보가 필요..

 

heroku에 로그인을 해 놓고 

heroku login
npx create-strapi-app@latest my-project

 

Custom 설치합니다.

 

 

mysql 을 선택하고 

DB정보를 적습니다.(사실 아무렇게나 기본값을 적어도 됩니다. 어차피 나중에 다시 수정 가능합니다.)

 

 

 

설치가 끝나면 프로젝트 디렉토리로 이동해서 vscode 를 띄웁니다.

 cd tera-www-strapi && code .

 

 

아래 파일을 열어 로컬에서 접속할 db 정보를 입력해줍니다.

// 파일명 ./config/database.js
module.exports = ({ env }) => ({
  connection: {
    client: 'mysql',
    connection: {
      host: env('DATABASE_HOST', 'localhost'),
      port: env.int('DATABASE_PORT', 3306),
      database: env('DATABASE_NAME', 'heroku'),
      user: env('DATABASE_USERNAME', 'heroku'),
      password: env('DATABASE_PASSWORD', '비번'),
      ssl: env.bool('DATABASE_SSL', false),
    },
  },
});

 

 

로컬에서 실행해 봅니다.

yarn develop

 

콘솔에 나온 url을 브라우저에서 열어봅니다.

http://localhost:1337/admin

 

 

아래와 같이 관리자 가입화면이 나오면 성공

 

 

이제 Heroku 에 배포해 봅니다.

 

 

.gitignore 에 lock 파일을 추가합니다.

.gitignore 파일을 열고

package-lock.json

한 줄 추가

파일을 저장하고

 

 

 

git 을 초기화 합니다.

git init
git add .
git commit -m "Initial Commit"

heroku 프로젝트를 생성합니다.

heroku create 프로젝트명

 

 

(중요)환경파일을 구성합니다. 

heroku config:set NODE_ENV=production
heroku config:set APP_KEYS=12345(임의대로 복잡하게 적어줍니다)
heroku config:set DATABASE_HOST=193.123.xxx.39
heroku config:set DATABASE_NAME=만든DB이름
heroku config:set DATABASE_PASSWORD=db비번
heroku config:set DATABASE_PORT=3306
heroku config:set DATABASE_USERNAME=사용자이름
heroku config:set DATABASE_SSL=false

 

헤로쿠에 배포합니다.

git add .
git commit -am "make it better"
git push heroku HEAD:main

 

빌드 될 때까지 기다립니다.

remote: -----> Compressing...
remote:        Done: 103.6M
remote: -----> Launching...
remote:        Released v24
remote:        https://tera-www.herokuapp.com/ deployed to Heroku
remote: 
remote: Verifying deploy... done.
To https://git.heroku.com/tera-www.git
   9b0a799..b138e1d  HEAD -> main

 

홈페이지를 열어봅니다.

 

https://프로젝트명.herokuapp.com/

 

아래와 같이 production 이 뜨면 성공

 

 

https://프로젝트명.herokuapp.com/admin  접속해봅니다.    

 

아래와 같이 회원가입화면이 뜨면 성공

 

DB확인 

댓글