본문 바로가기

:: Develop/Preferences

[Linux/Ubuntu] Jupyter notebook Server 구성하기

 

:: INTRO

   Python을 개발 하기에 참 편한 Tool 중 하나가 Jupyter notebook 이다. 바로바로 결과를 볼 수 도 있을 뿐더러, 결과도 직접 이쁘게 해서 보여주니 안쓸 이유가 없다. 특히 Python을 이용한 학습을 하고 있다면 Notebook 이라는 말대로 내가 공부한 과정을 결과값과 함께 그대로 남길 수 있어 자주 사용하고 있다.

 

   그럼 만약 내가 들고 다니는 laptop에서 돌릴 수 없는 큰 프로젝트라면 어떻게 할까, 사양좋은 서버에서 돌리면 되지 않아? 라고 말하고 싶은가? 그렇다면 내가 딥러닝등을 학습할 예제를 Jupyter Notebook에서 돌리고 결과값과 함께 필기 해놓고 싶은데 GPU가 없는 Labtop 이라면 ? 이때 해결해 줄 수 있는 것이 바로 Jupyter Notenook Server다.

 

   사양 좋은 Server에 Jupyter Notebook Server를 설치하고 외부에서 해당 포트로 접속해 Jupyter notebook을 사용 할 수 있도록 하는것으로 Local 에서 작업하던것과 전혀 다를게 없을 뿐 아니라 훨씬 좋은 사양에서 구동 하게 되는 효과까지 얻을 수 있다. 최근 다녀온 NVIDIA 컨퍼런스에서도 사용자들에게 자신들의 GPU( 약 천만원 상당의 ..)가 설치된 서버를 Jupyter Notebook으로 열어서 제공해서 편하게 예제를 돌려봤던 기억이 있다.

 

 

 

1. Jupyter 설치하기

간단한 명령어 한줄로 Jupyter가 설치가 가능하다.

pip install jupyter

 

 

 

 

2. Jupyter Config 만들기

다음은 우리가 실행할 Jupyter Server의 Config 파일을 만들어 주자.

jupyter notebook --generate-config

해당 명령어를 입력하고 나면 아래에 생성된 jupyter_notebook_config.py 파일의 경로가 보인다. 기억해두자 !

 

 

3. Password 설정하기

ipython을 입력 하면 아래의 창이 나오는데, 

여기에서 아래 명령어를 차례대로 입력하자.

 

첫번째 라인에 아래를 입력하고 엔터 !

from notebook.auth import passwd

 

두번째 라인에서 함수를 실행해주자.

passwd()

 

그후 password를 두번 입력 해주면, 아래와 같이 SHA1키가 자동적으로 생성된다.

 

 

sha1 key는 바로 아래서 사용할 것 이므로, 일단 복사해두자.

위와 같은 화면을 확인했다면, 종료 !

 

exit()

 

 

4. Config  설정하기

해당 jupyter_notebook_config.py 파일을 열어서 몇가지만 변경해주자.

vi /root/.jupyter/jupyter_notebook_config.py

 

 

나는 vim이 편하더라 ..

 

그러면 아래와 같은 화면이 보일텐데, 여기서 우리는 ip와 port 두가지만 설정하고 실행해 보려한다. 

i를 눌러 insert 모드로 변경해주고, 맨위에 아래 세줄을 명시해 주자.

c.NotebokApp.ip = "ip 주소
c.NotebookApp.port = port 
c.NotebookApp.password = u"sha1: ~ "

 

 

 

다 적었다면, esc를 한번 누르고 :wq 를 입력하고 enter ! ( 저장후 나가기 ) 

자 여기까지 되었다면, 일단 실행 해보자 !

 

 

 

5. Jupyter Notebook 실행하기

jupyter notebook

 

 

 

 

자, 서버에서 실행을 해두고나서, 외부 다른 디바이스에서 접속을 해보자.

우리가 설정했던 ip:port로 들어가면, 아래와 같은 화면을 볼 수 있다.

 

 

 

password를 입력하고 들어가면 끝 !