9. Deploying mean applications 웹 어플리케이션 보안 2016년 2학기 9. Deploying mean applications
9. Deploying Mean App Chap 18. Deploying MEAN Applications
Deploying MEAN Applications 현재까지는 localhost에서 운영 http://localhost:8080 LAN에서만 접속 가능, 외부에서 접속 불가 인터넷 어디에서든지 접속하도록 하려면 인터넷 연결이 제공되는 서버에 설치해야 함 직접 서버를 운영하는 방법 자기 집의 컴퓨터를 서버로 운영, 네트워크 설정 필요 (IP공유기 환경 에서 웹서버 운영하기) 학교의 컴퓨터는 서버로 운영 불가, 전산실의 허가 필요 외부 호스팅 서비스를 이용하는 방법 Node, MEAN 스택 서비스에 특화된 호스팅 서비스 사용 필요 클라우드 서비스 이용 경험
Node 호스팅 서비스 Modulus - https://modulus.io/ Digital Ocean - https://www.digitalocean.com/ Heroku - https://www.heroku.com/ (추천) 이 교재에서 가이드 제공 Heroku에 서비스 설치, 운영 예정 Cloud9 - https://c9.io/ Joyent - https://www.joyent.com/ (상용) Nodejitsu - https://www.nodejitsu.com/ (상용)
구현 계획 Node.js 호스트 서비스 MongoDB 호스트 서비스 https://www.heroku.com/ 회원가입 필요 https://modulus.io/ 회원가입, DB 생성 필요
1. MongoDB의 호스트 서비스 이용 Modulus에 사용자 등록 로그인 데이터베이스 생성: +Create Database https://modulus.io/ 로그인 데이터베이스 생성: +Create Database 사용자 생성: + Add User Administration에서 Connection strings 확인
MongoDB의 호스트 서비스 이용 Administration에서 Connection strings 확인
Config.js의 DB 접속정보 수정 Config.js의 database 정보를 수정 Jello.modulusmongo.net 의 서비스를 사용하도록 변경 ID:pass 추가
2. Heroku – 계정 만들기 https://www.heroku.com/
Heroku – 앱 생성하기 앱 이름 입력하지 말 것 Random한 이름으로 자동 생성해줌
Heroku’s Node deployment instructions https://devcenter.heroku.com/articles/getting-started- with-nodejs#introduction
필요한 도구들 Node and npm (이미 사용중) Git Heroku Toolbelt https://git-scm.com/ free and open source distributed version control system (소스 버전관리 도구) Heroku Toolbelt https://toolbelt.heroku.com/ Heroku를 사용하기 위한 필수 도구. 명령창에서 명령 실행.
3. Git Repository 설치 Git 클라이언트 다운로드 및 설치 명령창에서 git 명령이 수행되는지 확인 https://git-scm.com/ 명령창에서 git 명령이 수행되는지 확인
Git Repository 생성 Local git repository 생성 Git remote를 Heroku에 생성 Cd 프로젝트 폴더로 이동 > git init (git repository 생성) > git add . (폴더의 모든 파일을 repository에 추가) > git commit –m ‘adding first files’ (커밋) Git remote를 Heroku에 생성 Heroku toolbelt 이용 코드를 Heroku로 푸시
4. Heroku Toolbelt 설치 https://toolbelt.heroku.com/ 명령창에서 Heroku의 명령을 사용할 수 있게 하는 툴 명령창에서 heroku 명령 수행 확인
Heroku 로그인 > heroku login Email, password 입력
5. Deploying Our User CRM App 1. Create a remote repository (Remote repository 생성) > heroku create (remote repository 생성) > git remote –v (remote repository 보기) > heroku apps:rename ucrm --app secret-taiga-90781 (앱의 이 름 바꾸기) > heroku create [app의 이름, 중복되지 않게 지정] (app 이름 직 접 생성하기) 2. Push the repository! > git push heroku master (local git repository의 모든 코드를 heroku의 remote repository에 master branch로 push하라) Package.json 파일의 내용에 따라 모든 dependency를 추가 Node 서버를 시작 (server.js) > heroku ps:scale web=1 (앱이 시작되었는지 확인)
Deploying Our User CRM App Git 명령 요약 > git init > git add . > git commit –m ‘adding’ > git push heroku master > heroku ps:scale web=1
Deploying Our User CRM App > heroku open 현재의 앱을 브라우저에서 실행하도록 하는 명령
다른 컴퓨터를 이용하게 되는 경우 Download the Heroku Toolbelt Login: heroku login Add your public key: heroku keys:add Pull down your current application heroku git:clone -a app-name Make your improvements Git add and commit your changes Push back to heroku: git push heroku master