상세 컨텐츠

본문 제목

[ubuntu 서버만들기 #5] jupyter notebook 서버 설정

Linux

by 힐둔 2022. 1. 10. 23:08

본문

우분투 딥러닝 서버 만들기 5번째 글이다.

이번에는 jupyter notebook을 설치하고, 서버용으로 설정하기로 해본다. 순서는 다음과 같다.

  1. conda base 환경으로 진입
  2. jupyter notebook 설치
  3. jupyter notebook 서버 설정 ( password 등)

1.conda base 환경으로 진입

conda에 여러개의 가상환경이 있는 상태에서 conda activate base 명령으로 base에 진입한다.

 

2. jupyter notebook 설치

base인 상태에서 conda install -c conda-forge jupyter 명령으로 설치하도록 한다. 

conda 환경에서는 pip 대신 conda install을 사용하고, -c conda-forge는 생략 가능하다. -c conda-forge는 conda-forge라는 채널에서 받겠다라는 뜻이다.

 

설치가 완료되었으면 jupyter notebook이라는 명령으로 한번 실행해보자. browser가 열리고 localhost:8888로 실행이 된다. 우리는 서버의 브라우저가 아닌 network에 연결된 다른 사람의 PC에서 각각 jupyter notebook을 사용해야 하기에 환경 설정을 변경 해야 한다.

우분투 주피터 노트북
jupyter notebook 실행 화면
jupyter notebook이 browser에서 실행된 모습

 

 

 

3. jupyter notebook 서버 설정 

jupyter notebook --generate-config 명령으로 configuration file을 생성하자.
/home/{사용자명}/.jupyter/jupyter_notebook_config.py라는 생성되었다. 

 

보안을 위해 password를 설정할 수 있다. 자동으로 설정하는 방법과 수동으로 설정하는 두 가지가 있다.

  1. 자동으로 설정하는 방법 : notebook 5.0 이상에서만 지원하고, 아래 처럼 jupyter notebook password를 입력하면 자동으로 json 파일(/home/{사용자명}/.jupyter/ 폴더 안의 jupyter_notebook_config.json)에 비밀 번호까지 지정해준다.
    jupyter notebook password
    자동으로 설정하는 방법
  2. 수동으로 설정하는 방법 : 
    1. ipython을 실행
    2. 차례로 from notebook.auth import passwd  passwd() 파이썬 코드를 직접 입력한다. 그리고 나오는 정보를  jupyter_notebook_config.py파일의 c.NotebookApp.password=u'xxxxx' 라고 직접 기입해줘야 한다.

 

그리고 jupyter_notebook_config.py 파일에서 아래 사항은 기본적으로 적용해주는 것이 좋을 것 같다.

# Set ip to '*' to bind on all interfaces (ips) for the public server
c.NotebookApp.ip = '*'

# server에서 browser 실행 하지 않도록
c.NotebookApp.open_browser = False

# 익히 알려진 8888 포트에서 다른 포트로 변경
c.NotebookApp.port = 9999

 

jupyter notebook으로 실행하고 나서 원격에서 접속하면 아래와 같이 password 입력하라고 뜬다. 

 

보안을 더욱 강화하기 위해 SSL 등 추가적인 방법을 이용할 수 있다. 자세한 건 아래에서 확인할 수 있다.

출처 : https://jupyter-notebook.readthedocs.io/en/stable/public_server.html

관련글 더보기

댓글 영역