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


- 기본적으로 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 |