로컬 PC는 세팅이 편리하지만, 항상 그 PC를 가지고 다녀야하는 불편이 있다.
그래서 서버를 두고 원격으로 접속해서 Jupyter lab/notebook 접속을 해보기로 했다.
원격 서버에 Python 환경을 두고 테스트 소스를 실행하는데 가장 간편한 방법은 CoLab을 활용하면 된다.
하지만, 실제 서버 환경 구성까지 테스트할 목적이어서
EC2에 Jupyter notebook 설치 후 원격으로 항상 접속하는 환경을 만들어 보겠다.
Jupyter notebook 설치 하기
1. apt get 업데이트
$ sudo apt-get udpate
2. python pip3 설치
필자는 ubuntu를 사용하는데, ubuntu는 python3 가 설치되어 있어서, pip 설치 할 수 있다.
$ sudo apt-get install python3-pip
3. jupyter notebook 설치
pip3를 통해서, jupyter notebook 설치 한다.
$ sudo pip3 install notebook
Jupyter notebook 서버 구성
1. python 실행
$ python3
2. python 코드 작성해서, 패스워드를 생성 및 설정
>> from notebook.auth import passwd
>> passwd()
python 명령어를 실행하면, 패스워드 입력을 2번 입력 하여 확인하며, 입력한 패스워드가 암호화 되어 출력되는데,
이를 메모장에 복사해 둔다.
exit() 명령어로 python3 에서 나온다.
3. jupyter notebook 환경설정 파일 생성
$ jupyter notebook --generate-config
4. vi 에디터로 config 파일을 작성
$ sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py
파일 마지막 끝으로 이동 ( vi 에디터 'G' )해서 아래 내용을 입력하고 저장하고 나온다. (wq!)
주의 사항은 NotebookApp.pasword = 'argon2: 어쩌고..했던 값' , NotebookApp.ip = 'AWS 프라이빗 IP'
, notebook_dir = '접속시 보여주는 홈디렉토리의 절대경로'
c = get_config()
c.NotebookApp.password = u'argon2....'
c.NotebookApp.ip="EC2 Private IP "
c.NotebookApp.notebook_dir = '/'
Jupyter notebook 실행 하기
1. EC2 보안그룹에 규칙 포트 추가
2. Jupyter notebook 실행 및 테스트
아래 명령어로 jupyter notebook 실행을 볼 수 있다.
$ sudo jupyter-notebook --allow-root
하지만, 터미널 종료와 함께 jupyter도 종료 되기 때문에 항상 접속 가능하도록 백그라운드 실행이 필요하다.
3. Jupyter notebook 백그라운드 실행
Ctrl+Z 로 bash로 돌아 온 후 아래 명령어를 실행하여 백그라운드 실행하도록 하고, 소유권을 포기한다.
$ bg
$ disown -h
서버를 kill 하고 싶으면, kill 명령어를 사용하거나, jupyter 에서 shutdown 시키면 된다.
연결 테스트
EC2 연결된 "퍼블릭IP(elastic IP):포트"로 브라우저에 접속 시도하면 아래와 같이 로그인 페이지가 열린다.
암호를 입력해서 어디서든 접속해 볼 수 있다.
'Language' 카테고리의 다른 글
[Python] 디렉토리 내 파일 목록 리스트 (0) | 2022.11.16 |
---|---|
[Python] 일정 시간 (초)마다 실행 (0) | 2022.10.25 |
[jupyter] "Permission to listen on port XXXX denied." 에러 해결 (0) | 2022.10.14 |
[Python] EC2 Jupyter lab 설치 및 실행 하기 (+ 서버 로그 기록 ) (0) | 2022.09.13 |
[Python] 효과적인 print 패턴, debug 최적 패턴 (0) | 2022.09.11 |