본문 바로가기
CMS

strapi Server & DB configuration 살펴보기

by NOMADFISH 2020. 9. 15.

Configuration

 

strapi db configuration

  • strapi config folder
  • strapi project로 생성된 폴더중 config라는 폴더를 확인할 수 있다.

strapi config folder
config folder

  • 기본적으로 2개의 파일을 확인 할 수 있다.
  • database.js: database setting sourcecode
  • 아래 코드는 기본적으로 생성되는 sqlite의 경우.
module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'sqlite',
        filename: env('DATABASE_FILENAME', '.tmp/data.db'),
      },
      options: {
        useNullAsDefault: true,
      },
    },
  },
});

 

  • 각각의 설정들을 변경할 수 있으며 mysql등의 다른 데이터 베이스도 사용이 가능하다.
module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'mysql',
        host: env('DATABASE_HOST', 'localhost'),
        port: env.int('DATABASE_PORT', 3306),
        database: env('DATABASE_NAME', 'strapi'),
        username: env('DATABASE_USERNAME', 'root'),
        password: env('DATABASE_PASSWORD', 'root'),
        ssl: env.bool('DATABASE_SSL', false),
      },
      options: {}
    },
  },
});
  • 위와 같은 방식으로 mysql도 설정이 가능하다. 설정 후 다시 strapi를 실행 시키면(`npm run develop`) 설정된 디비에 새로운 데이터베이스와 테이블을 생성할 것이다.
  • 데이터 베이스와 테이블을 생성하기 때문에 당연히 데이터 베이스 생성및 테이블생성 권한이 있는 상태의 user로 접속해야 한다.

strapi server configuration

  • 보통 우리가 생각하는 서버 실행에 대한 설정을 할 수 있다.
  • server.js
module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  admin: {
    auth: {
      secret: env('ADMIN_JWT_SECRET', '925131ee16ec7edc19dd6a56c684b363'),
    },
  },
});
  •  보이는 것과 같이 서버 호스트, 그리고 포트를 지정하고, 로그인과 세션생성에 사용될 JWT 값을 확인 할 수 있다.
  • 역시 값들을 변경하고, strapi를 다시 실행 시키면, 변경된 값이 적용되어 실행된다. 특별히 바꿀것은 별로 없고 보통 포트정도를 바꿔서 쓰는 경우가 많다.

그외

 

  • /config 아래 /functions라는 폴더에 2가지 source와 response라는 folder가 더 있는 것을 확인할 수 있다.
  • /functions/bootstrap.js, strapi가 구동될때 가장 먼저 불리는 시동 프로시져로 strapi가 시작되기 전에 무언가 작업이 필요하다면 여기에 넣으면 된다.
  • /functions/cron.js: 스케줄로 무엇인가 동작 시켜야 되는 경우 사용하는 프로시져이다. 이곳을 참조하면 된다.
  • response: 에러 페이지나 에러 메시지들을 사용자가 원하는데로 변경할 수 있게 한다. 기본적으로 404.js가 들어 있을 것이다. 500.js등을 response코드에 맞춰 소스를 생성하고 그안에 handler를 작성하면 된다.

'CMS' 카테고리의 다른 글

strapi collection type추가  (0) 2020.10.12
str api, DB와 RestAPIs  (0) 2020.10.04
strapi Admin & User  (0) 2020.09.24
strapi란?  (0) 2020.09.07
Headless cms  (0) 2020.09.04