'Node.js' on Windows Azure


금번 온라인 캠프에 참여하여 Windows Azure 웹사이트 기능을 체험할 수 있게되어 이렇게 후기를 남깁니다.


제가 주로 실행해본 내용을 바탕으로 후기를 작성하는 것이나

서버 및 웹 개발은 걸음마 단계인 대학생 개발자이기 때문에 여러모로 미흡할 수 있어 미리 죄송하다는 말씀을 드립니다. (_ _)



Azure에서 Node.js를 지원한다는 내용을 본적이 있는거 같아

무작정 Node.js를 통해 작성된 페이지를 Windows Azure 웹사이트에 올려봤습니다.







1) 웹 사이트 만들기


001.png


https://manage.windowsazure.com으로 접속하셔서 로그인하시면

파스텔 톤의 예쁜 메뉴가 기다리는 페이지를 볼 수 있으실 겁니다.


좌측 메뉴에서 웹사이트 항목을 선택하여 위와 같은 화면이 나오면

빨간색으로 표시한 부분을 클릭하여 새로운 웹 사이트를 생성합니다.





보통의 예상으로는 여러가지 세세한 설정이 필요한 머리아픈 화면이 나올 것 같지만

웹사이트 만들기를 클릭하면 다음과 같은 깔끔한 화면이 보여집니다.


002.png 


어떤 웹사이트를 선택해야 Node.js를 사용할 수 있는지 고민고민하지 마시고

과감하게 빠른 생성을 선택하고 원하는 URL과 지역을 선택하고 우측하단의 웹사이트 만들기를 클릭합니다.






003.png

잠시(1분 내외) 기다리시면 웹사이트가 생성되어 실행 중 상태로 나타납니다.

해당 사이트의 이름(여기서는 nodedev)을 클릭하시면 해당 사이트 정보를 확인하실 수 있습니다.

해당 사이트로 엑세스하고 싶으시면 URL을 클릭하시면 됩니다.










2) 소스 제어


이제, 사이트의 이름을 클릭하셔서

Node.js를 사용하기 위한 귀찮은 설정들







...


no.jpg 

그런건 업ㅂ엉








004.png 



다음과 같은 화면에서 소스 제어 통합의

빨간색으로 표시된 TFS 또는 Git를 사용하여 배포 설정을 선택합니다.






물론 Git의 repo는 미리 생성해두셔야합니다.

저는 다음과 같이 github에 개발을 위한 repo를 생성하였습니다.

코웍이 필요하지 않은 프로젝트의 경우 github가 아닌 local git을 사용하셔도 됩니다.



005.png 



소스 제어를 위해 소스코드 위치를 설정해야합니다.


006.png 



현재 저의 경우는 GitHub에 repo를 생성해 놓았기 때문에 GitHub를 선택했습니다.






007.png 


선택을 마치면 GitHub를 인증하는 화면이 나오고 인증이 완료되면 repo를 선택하는 화면이 나옵니다.

미리 생성해둔 repo인 nodedeev를 선택하고 완료를 하였습니다.





008.png 


연결을 완료하면 위와 같은 페이지가 나타납니다.

잠시 기다리시면 페이지가 자동으로 새로 고쳐집니다.




009.png 

처음엔 배포하는 중으로 표시되고 잠시 기다리시면




010.png 

위와 같이 확정 배포 상태로 변경됩니다.








3) Node.js



GitHub이 무사히 연결되었으니

정말 Node.js로 작성된 코드가 정상 동작하는지 확인해야합니다.



때문에,

전세계 모든 프로그래머들이 그토록 볼 수 있길 소망하는

Hello World 메시지 출력하는 코드를 작성해보겠습니다.



011.png 



여기서 Windows Azure 웹사이트에서 Node.js로 서버를 만들때 주의할 사항이 있습니다.

로컬 서버에서는 port를 마음대로 설정할 수 있지만


Windows Azure 웹사이트에서는

process.env.PORT를 통해 해당 프로세스에 미리 할당된 포트를 사용해야합니다.

그렇지 않으면 iisnode가 오류 메시지를 뱉어냅니다.

(포트를 마음대로 바꾸고 싶으시다면 웹사이트가 아닌 VM을 생성하여 Node.js 환경을 세팅하셔서 사용하시면 됩니다.)





코드 작성이 끝나셨다면


013.png 


GitHub에 변경된 내용을 commit 해주시면 됩니다.




012.png 


새로 작성된 server.js가 GitHub를 통해 무사히 배포된 것을 확인하실 수 있습니다.





014.png 


Windows Azure 웹사이트에서도 배포된 것을 확인하고 기록을 보여줍니다.




003.png




이제 웹사이트의 URL로 접속하시면



쨔잔!


015.png

Hello, World가 보입니다.





monkey.jpg

감격스럽네요.







그렇다면 express와 같은 package를 사용하는 프로젝트의 경우 어떻게 해야할까요?


보통은 shell에서 npm을 통해 해당 package를 설치하기 때문에

순간적으로 어떻게해야하는지 고민이 되기도 했지만 의외로 해법은 간단합니다.


016.png



필요한 package를 npm을 통해 local로 설치하고

전부 git을 통해 배포해주시면 Windows Azure 웹사이트에서 오류없이 잘 적용을 해줍니다.





실제로 express를 사용하여 잘 적용이 되는지 확인을 해볼까요?


017.png 018.png


express를 사용하는 js 파일과 로딩될 html 페이지를 연결했습니다.






이제 다시 Git을 통해 배포 후 URL로 접속하여 제대로 적용이 되었는지 확인해보겠습니다.


020.png



monkey.jpg 

다시 한번 감격스럽네요.





Windows Azure 웹사이트를 통하여

Node.js로 애플리케이션이 동작하는 것을 확인할 수 있었습니다.



실제로 Windows Azure 웹사이트에

Node.js 환경을 전자동으로 지원하는 바람에

저는 잘차려진 밥상 위에 숟가락하나 얹은 형태가 되었습니다.

제가 체험하면서도 왜 이렇게 쉬운건지 의아함을 떨쳐버릴수 없을 정도였습니다.

Node.js를 사용하시는 분들에겐 정말로 좋은 형태의 서비스가 아니지 싶습니다.




이상으로 후기를 마치며

미흡한 글을 읽어주신 모든분들께 감사의 말씀을 드립니다. (_ _)