nodejs
-
[ NestJS ] nodemailer로 메일 발송하기Topic/Node.js | server 2023. 7. 23. 10:45
NestJS 프레임워크에서 이메일 발송을 위한 nodemailer 라이브러리를 적용하는 방법입니다. nodemailer 사용 방법 nodemailer 설치 npm install nodemailer 환경변수 설정 (.env) # /.env email_host = "smtp.gmail.com" email_port = "777" email_client_id = '1234-abcd.apps.googleusercontent.com' email_secret = '1q2w3e4r' email_user = 'noreply@‘test.io email_address_from = 'help@test.io’ email_refresh_token = 'aaa' email_access_token = 'bbb' Mailer Serv..
-
[ NodeJS ] Logger | .gz / gz파일 확인하기 (log.gz)Topic/Node.js | server 2023. 6. 3. 11:55
nodejs에서 winston으로 log를 찍으면서 확인 중 .log파일들은 잘 열리는데 .log.gz 파일을 여니 알 수 없는 문자들로 나오는 상황이 생겨 gz파일을 열어서 확인하는 방법을 찾아보았다. example.log.gz 로그 보는 법 압축된 gzip 파일을 간단히 찾고, 확인가능하다. $ zgrep ‘찾을 단어’ /path/to/test.log.gz $ zgrep ‘GET /faq/url/‘ /path/to/access.log.gz gz 파일 확인하는 방법 $ zcat test.log.gz
-
[ NodeJS ] 백엔드 재부팅 시 PM2 자동실행 설정Topic/Node.js | server 2023. 5. 27. 11:11
pm2는 pm2 start 명령으로 실행할 앱 지정 시 자동으로 프로세스를 관리해주는 프로그램이다. 하지만 서버가 잠깐 중지되었다가 다시 실행되었을 때 pm2는 자동으로 실행되지 않는다. 그래서 우리는 자동으로 재부팅 시 pm2가 실행되게 바꿔줘야한다. pm2 start app.js pm2 startup 명령어로 systemd를 통해서 자동으로 실행되도록 unit파일을 생성한다. pm2 startup [PM2] Init System found: systemd [PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/bin /home/username/.node_modules/lib/node_mod..
-
[ Linux ] crontab(cronjob) 시간 설정 방법Topic/Linux 2023. 4. 22. 10:50
젠킨스 프로젝트 내 구성에서 Build periodically 체크 Schedule 칸에 작성! ——————————————————————————— 0 5 * * * : 매일 5시 0분에 실행. 5 * * * * : 매시 5분이 될 때마다 실행. 즉, 한 시간 간격으로 실행. * * * * * : 1분에 한 번씩 실행. 0 5 1 * * : 매달 1일 새벽 5시에 실행. */5 * * * * : 5분마다 한 번씩 0 */5 * * * : 5시간마다 한 번씩 0 5,11 * * * : 새벽 5시와 밤 11시. 0 5,11 * * 0,3 : 매주 일요일과 수요일 새벽 5시와 밤 11시. ———————————————————————————
-
[ NodeJS ] express에서 swagger로 API 명세서 만들기Topic/Node.js | server 2023. 2. 18. 15:59
[ NodeJS ] express에서 swagger로 API 명세서 만들기 포스트맨으로 API 명세서로 활용하고 있었는데 API 서버 정보가 포스트맨 서버에 저장되는 문제가 우려돼 swagger로 자체 API 서버에 연결을 해서 해결을 해보려고 한다. npm i swagger-jsdoc swagger-ui-express —save -dev swagger-jsdoc: jsdoc 주석으로 api 문서를 표현하는 용도 swagger-ui-express: swagger와 express 연결하는 용도 project/swagger/swagger.js const swaggerUi = require("swagger-ui-express") const swaggereJsdoc = require("swagger-jsdoc"..
-
[ NodeJS] moment-timezone을 이용해 로컬과 EC2 서버 시간 동기화Topic/Node.js | server 2023. 2. 4. 18:29
본인의 컴퓨터가 아닌 서버 컴퓨터 작업을 하시는 경우 서버가 한국에 위치하지 않아서 시간이 다르게 출력되는 경우가 발생한다. 이럴 때 필요한 것이 moment-timezone 모듈입니다. moment 모듈과 moment-timezone 모듈을 설치 후, 선언한 moment의 타임존을 원하는 지역으로 설정하면 로컬 서버와 EC2 서버 시간을 동기화시킬 수 있다. // 최상단 app.js npm install --save moment npm install --save moment-timezone var moment = require('moment'); require('moment-timezone'); moment.tz.setDefault("Asia/Seoul");
-
[ NodeJS ] req에서 클라이언트 ip 추출하는 방법Topic/Node.js | server 2023. 1. 28. 19:29
node js / example.controller.js 일부 로직 let clientIp = req.headers['x-forwarded-for'] || req.connection.remoteAddress; if (clientIp.substr(0, 2) === '::') { clientIp = clientIp.substr(2); } 이렇게 clientIp를 정해주고 substr로 정리하면 clientIp = “999.999.999.999” 요청한 클라이언트의 ip를 받아와서 활용할 수 있다.
-
[ Redis ] 레디스 설치 및 실행 방법 (Mac | OSX)Topic/Node.js | server 2023. 1. 20. 12:16
레디스(Redis) 설치 및 실행 방법 셀러리(Celery)의 메시지 브로커인 레디스를 설치하고, 정상적으로 작동하는지 확인한 다음, 실행시키는 방법에 대해 알아보겠습니다. 레디스의 설치는 홈브루(Homebew)를 이용해 설치해야 하기 때문에, 레디스 설치에 앞서 먼저 홈브루를 설치해주겠습니다. 홈브루(Homebrew) 설치 방법 먼저, 설치를 위해 터미널 창을 열겠습니다. 그리고 홈브루 메인 홈페이지에 나와있는 대로 명령어를 복사 붙여 넣기 합니다. 홈브루-공식홈페이지-설치 명령어 홈브루 공식 홈페이지 주소: https://brew.sh/ 홈브루로 레디스 설치 맥의 터미널(terminal)을 열고 다음 명령어를 입력해서 레디스를 설치해줍니다. cmd: brew install redis 레디스 실행 레디..