Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- java
- Jenkins Pipeline
- jenkins github 연동
- Spring Boot
- grafana
- spring
- CI/CD
- docker network
- jenkins jdk
- MongoDB
- Docker
- grpc
- jpa
- jenkins 설치
- 리액트
- subnetmask
- REACT
- Linux
- IntelliJ
- nginx
- jenkins github
- jenkins maven
- JavaScript
- MySQL
- gradle
- error
- vue.js
- Jenkins
- 리눅스
- jenkins install
Archives
- Today
- Total
뭐든 즐기면서 ;)
NodeJS env / NodeJS dotenv & pm2 사용법 본문
728x90
1. dotenv 패키지 설치
> npm i dotenv
app.js에 하단 내용 추가
let cookieParser = require('cookie-parser');
let logger = require('morgan');
...
/** Start of 환경 파일 세팅 */
const node_env = process.env.NODE_ENV;
const enum_env = Object.freeze({
local : 'local'
,development: 'development'
,production: 'production'
});
let envPath = '.env_';
switch (node_env) {
case enum_env.local:
envPath = envPath.concat(enum_env.local);
break;
case enum_env.development:
envPath = envPath.concat(enum_env.development);
break;
case enum_env.production:
envPath = envPath.concat(enum_env.production);
break;
default:
envPath = envPath.concat(enum_env.local);
break;
}
require('dotenv').config({
'path': path.join(__dirname, envPath)
});
/** End of 환경 파일 세팅 */
...
let app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
...
.env_[개발 환경] 파일 추가
PORT=9031
DB_NAME=[db명]
DB_ID=[db username]
DB_PW=[db 패스워드]
DB_HOST=[db 서버 ip]
DB_PORT=[db PORT]
env 변수 사용하기 (db_info.js)
const db = {
db: process.env.DB_NAME
,id: process.env.DB_ID
,password: process.env.DB_PW
,host: process.env.DB_HOST
,port: process.env.DB_PORT
};
const uri = `mongodb://${db.id}:${db.password}@${db.host}:${db.port}/${db.db}?directConnection=true&serverSelectionTimeoutMS=2000&authSource=admin&appName=mongosh+1.7.1`;
module.exports = uri;
2. pm2 설치
> npm install pm2
ecosystem.config.js 파일 생성
아래 명령어를 실행하면 ecosystem.config.js 파일이 생성됨.
> pm2 ecosystem
ecosystem.config.js 파일 내용
'use strict';
module.exports = {
apps: [
{
name: '[pm2 명령어 실행시 필요]',
script: './bin/www',
wait_ready: true,
listen_timeout: 10000,
kill_timeout: 20000,
env_production: {
NODE_ENV: "production"
},
env_development: {
NODE_ENV: "development"
},
env_staging: {
NODE_ENV: "staging"
},
env_devstaging: {
NODE_ENV: "devstaging"
}
}
]
};
3. pm2를 이용하여 node 실행시키기
> pm2 start [ecosystem.config.js 파일] --only [pm2 명령어 실행시 필요] --env development
728x90
'BACK > NodeJS' 카테고리의 다른 글
NVM(Node Version Manager) 설치(Window) 및 사용 방법 (0) | 2023.10.05 |
---|---|
NVM(Node Version Manager) 설치(Linux) 및 사용 방법 (0) | 2023.10.05 |
NodeJS(express) MongoDB 연결 mongoose (0) | 2023.03.09 |
NodeJS - express (0) | 2021.12.28 |
Comments