새로운 강의는 이제 https://memi.dev 에서 진행합니다.
memi가 Vue & Firebase로 직접 만든 새로운 사이트를 소개합니다.
NEMVV 1 설정파일
이 강좌는 종료되었습니다.
새로운 강좌로 시작하세요~
모던웹(NEMV) 제작 강좌
설정파일에 대해 알아봅니다.
소스는 https://github.com/fkkmemi/nemvv.git에서 확인 할 수 있습니다.
설정파일 작성
깃허브에는 소스코드만 들어갑니다.
하지만 비밀스러운 부분을 공개할 수는 없죠..
설정파일이 필요한 이유는
- 민감정보(디비 패스워드, 이메일 송신 계정등)
- 같은 소스로 다른위치에서 사용할 경우(다른 디비, 다른 계정)
그래서 깃헙 관리대상은 아니면서 구동시 필요한 파일을 만들어야합니다.
./cfg/cfg.js
module.exports = {
db: {
url : "mongodb://id:password@xxx.com:27017/nemvv"
},
web: {
host: 'localhost:3000',
cors: true,
secret_key : 'VeryUltraKey',
http : {
use : true,
port : 3000,
redirect : false
},
https : {
use : true,
port : 3001,
key : './cfg/key/xxx.com.key',
cert : './cfg/key/7d205546d3cd579e.crt',
ca : './cfg/key/gd_bundle-g2-g1.crt'
},
jwt: {
expiresIn: '7d',
reTokenTime: 60*60*1,// 60*10,
},
},
pm2: {
deploy: {
production: {
user: 'root',
host : [
{
host: 'xxx.com',
port: '20002',
}
],
ref : 'origin/master',
repo : 'git@github.com:fkkmemi/nemvv.git',
path : '/var/www/nemvv',
'post-deploy' : 'yarn && cd fe && yarn && npm run build',
},
dev : {
user: 'root',
host : [
{
host: 'xxx.com',
port: '20002',
}
],
ref : 'origin/master',
repo : 'git@github.com:fkkmemi/nemvv.git',
path : '/var/www/nemvv',
'post-deploy' : 'yarn && cd fe && yarn && npm run build && cd .. && pm2 startOrRestart ecosystem.config.js',
}
},
},
mail: {
host: 'smtp.xxx.com',
port: 25,
secure: false,
auth: {
user: 'admin@xxx.com',
pass: 'emailpwd',
},
},
dev : {
log : true,
},
};
- db: mongoDB로 readWrite 할수 있는 url을 넣으시면 됩니다.
- web
- host: 토큰 발행시 쓰입니다. 추후 멀티서버(scale-out)를 운용할때 구분할때도 쓰입니다.
- cors: 로컬 테스트를 위해 필요합니다. 실제서버에서는 false 로컬서버에서는 true 입니다.
- secret_key: 토큰 발행시와 사용자 암호등을 암호화할때 쓰입니다..
- http
- use: false일 경우 https만 사용하는 것입니다.
- port: 3000은 로컬용이고 실제서버에서는 80으로 서비스합니다.
- redirect: http로 들어올경우 https로 전환해주기 위함입니다.
- https
- use
- port: 3001은 로컬용이고 실제서버에서는 433입니다.
- key, cert, ca: ssl사용을 위한 인증서 위치입니다. 자세한 것은 ssl setting 에서 확인해보면됩니다.
- jwt
- expiresIn: ‘7d’ 7일 유효기간의 토큰 발행
- reTokenTime: 유효가 임박했을 때 토큰 재 발행해주는 시간입니다.
- pm2: 배포 관련 설정입니다. 자세한 것은 pm2 deploy 에서 확인해보면됩니다.
- mail: 메일 전송기능 입니다. 회원 인증에서 쓰입니다.
결론
설정파일에는 최대한 필요한 것만 있어야합니다.
이것저것 넣을 수록 유지보수가 어려워지는 플랫폼이 됩니다.
댓글남기기