주피터 노트북 외부에서 실행하기
집에 있는 주피터 노트북을 외부에서 실행하기 위한 방법을 정리합니다. 잘 정리두신 블로그[1]를 참고에 진행한 내용을 정리합니다.
기본 조건으로 외부에서 집에있는 컴퓨터에 접속이 가능해야 합니다. 인터넷 회사에 따라서 연결하는 방식이 다르기 때문에 공유기 설정 중 "포트 포워딩" 기능을 이용해서 접속이 가능하도록 해야합니다. 사용하는 인터넷 회사에 따라 다르기 때문에 이 부분은 동작되다는 가정 상황에서 시작합니다.
우분투를 이용해서 주피터 노트북을 실행하는 경우 우분트의 방화벽을 해제 해야합니다. 전체 시스템 연결 구조는 아래와 같습니다.
[외부:웹브라우져] <==> [집::우분투 서버]
|
(주피터 노트북 실행)
외부에서 웹브라우져를 이용하여 집 또는 회사의 우분투 서버 ip로 접속합니다. 접속 시 주피터 노트북과 연결을 위해서 포트번호를 함께 사용합니다. 기본적으로 8888포트를 사용하기 때문에 외부에서는 "집::우분투서버 IP:8888"로 연결하여 접속합니다.
1. 우분투 서버 방화벽 해제
외부에서 우분투 서버에 접속이 가능하도록 8888포트의 방화벽을 해제합니다.
sudo ufw allow 8888
2. Jupyter Notebook 환경설정
주피터 노트북이 실행될 때 설정이 필요한 환경정보를 저장합니다. 저장을 위해서 환경변수를 저장하는 jupyter_notebook_config.py파일을 만들어 적용합니다.
jupyter notebook --generate-config
위의 명령을 수행하면 "~/.jupyter/jupyter_notebook_config.py"파일이 생성됩니다. 이 파일을 수정하여 jupyter notebook 설정 정보를 저장합니다.
주피터 노트북을 Password로 접속하기
아래의 password 생성 명령을 사용하여 사용할 password를 입력하면 "jupyter_notebook_config.json"파일이 생성됩니다.
jupyter notebook password
이 파일에는 입력했던 password를 hash화 하여 정보를 저장합니다. jupyter notebook 설정정보에 이 hash화된 암호 정보를 입력합니다.
설정정보변경
설정정보는 "~/.jupyter/jupyter_notebook_config.py" 파일에 주석처리로 저장되어 있습니다. 아래의 내용을 수정하여 적용합니다.
c.NotebookApp.allow_origin="*" // 외부 접속을 허용하는 설정
c.NotebookApp.notebook_dir="경로" // jupyternotebook 작업경로 설정
c.NotebookApp.ip="*" // 외부로 접속이 가능한 ip를 설정
c.NotebookApp.password="Hash화된 패스워드 입력" // 암호를 Hash화 한 후 해당 정보를 업데이트 함
c.NotebookApp.password_required=True //비밀번호를 사용하여 접속하도록 설정
c.NotebookApp.open_browser=False // 서버 PC에서 자동으로 브라우져가 열리지 않도록 설정
3. Jupyter Notebook 실행
설정이 완료 되면 아래의 명령으로 jupyter notebook을 실행하고 외부에서 우분투서버 IP와 8888포트 정보를 입력하여 주피터 노트북에 접속합니다.
jupyter notebook
'Programming > Python' 카테고리의 다른 글
Python Text Write 방법 정리 (0) | 2024.05.26 |
---|---|
Python 라이브러리 백업/복원 (0) | 2024.05.25 |
Python Thread 사용 시 주의해야할 점 (0) | 2024.05.17 |
Python Thread 사용방법 (0) | 2024.05.17 |
Cython: Python 성능 향상 (0) | 2024.05.17 |