Express(6)
-
우당탕 Azure Pipeline CI CD 설정 하기 (3)
이제 설정을 했으니 azure VM에 nginx를 설치하고, 도커로 컨테이너와 연결하여 서버를 실행 할 것 이다. Nginx 기본 설정 : crispypotato.tistory.com/67 Nginx 설치, 사용하기 환경: 우분투 18.04 nginx 설치 sudo apt-get update sudo apt-get install nginx 설치 후 cd /etc/nginx//etc/nginx/sites-available 이동 후 프록시 기본 설정 vi node-server server { listen 80; server_name.. crispypotato.tistory.com 우리가 sh파일에넣은 명령어 docker run -p 3000:3000 44444.azurecr.io/ptest:$BUILD_BU..
2020.11.17 -
우당탕 Azure Pipeline CI CD 설정 하기 (2)
6. release sh파일 경로설정, 배포 pipelines에 release에 들어가서 edit pipeline를 클릭해서 파일 경로를 다시 설정해주어야 한다. 1 job, 1 task 를 클릭해서 설정에 들어간다. 중요한건 script path 부분이다. 우리가 전에 생성한 sh파일경로와 sh파일명을 써주어야 배포가 가능하다. path를 넣어 줄 수가 있고 inine를 눌러 직접 스크립트 문을 작성해 줄 수도 있다. 변경을 완료 하면 save를 누르고 저장하고 나온다. 버튼클릭하고 이동하여 배포를 실행 해보자 그리고 log를 보면 Initialize job를 클릭해서 보자 쭉 보다 보면 가 있는데 위에 글이 아까 우리가 delpoy.sh파일에 저장한 $BUILD_BUILDID 이다 왜 가져와야 하나면..
2020.11.17 -
우당탕 Azure Pipeline CI CD 설정 하기 (1)
azure pipeline을 우당탕 설정 개발 중 시간 소모가 가장 컸다. express, docker, azure pipeline, azure container registry, azure VM 를 사용한다. 1. 로컬에서 설정 먼저 테스트 하기 위한 express 앱을 만든다 npm install express-generator -g 만든 후 , 도커 파일을 만들어야 한다 도커 파일 이름은 무조건 Dockerfile로 해야한다. dockerfile로 하면 인식을 못하니 주의하자 pm2를 이용해서 서버를 실행 할 거라서 pm2를 설치하고 실행 할 것이다. FROM node:12 WORKDIR /app COPY . . RUN npm i -g pm2 RUN npm i EXPOSE 3000 CMD [ "pm..
2020.11.17 -
X-Powered-By헤더 차단 Helmet사용, Express
X-Powered-By헤더는 어떤 기술로 서버를 개발했는지 나오는 값이다. 그래서 공격자가 어떤걸로 개발했는지 알고 공격을 하면 보안의 취약점이 생기는데 이걸 Express에서는 helmet이라는 모듈을 사용하여 막을 수 있다. npm install --save helmet 설치하고 var helmet = require('helmet') app.use(helmet()) 사용하면 차단 할 수 있다. 혹 은 helmet을 사용하지 않고 app.disable('x-powered-by') X-Powered-By만 차단 할 수 있다. 하지만 helmet을 사용하면 취약점을 보완 할 수 있으니 helmet을 쓰는게 좋을거 같다. 참고 : expressjs.com/ko/advanced/best-practice-sec..
2020.10.30 -
Azure Blob Storage에 파일 업로드 하기 Node(Express) 사용
Azure Blob Storage에 파일을 업로드 한다. 순서 : 프론트엔드에서 데이터 값과 파일을 업로드 => 백엔드에서 파일을 Azure Blob Storage으로 컨테이너명, blob데이터명을 정해서 업로드 먼저 라이브러리들을 설치한다. npm i multer-azure-blob-storage multer 먼저 ejs로 프론트 엔드 코드를 작성한다. 컨텐츠 이름: 파일 이름: bookdata: 업로드 이렇게 작성하면되는데 주의할점은 enctype="multipart/form-data" 부분을 꼭 써주어야 한다. azure 포탈에서 본인의 Storage accounts에서 Settings에 있는 Access keys에 들어가 본인의 key값과, Connection String Storage accou..
2020.10.29 -
Crawling 크롤링 - 네이버 영화순위 node.js
https://movie.naver.com/movie/sdb/rank/rmovie.nhn 를 가져옵니다. 랭킹 : 네이버 영화 영화, 영화인, 예매, 박스오피스 랭킹 정보 제공 movie.naver.com 데이터를 가져와서 디비에 저장 후 디비에 저장한 값을 보여주는 형태로 만들겠습니다. 저는 Bootstrap, node.js, Express.js, Mysql, Sequelize, ejs 를 사용합니다. express를 설치 하고 view템플릿을 ejs로 사용합니다. 를 터미널에 치면 파일이 생성됩니다. cd myapp로 파일를 변경하고 Sequelize, Mysql를 설치합니다. Mysql은 mysql2를 설치합니다. 디비를 연결합니다. DB폴더와 DB파일을 만들고 DB를 이런식으로 연결하고 confi..
2020.01.16