들어가며,,
네트워크 설정 완료한 서버를 이용해 분석하기 위해 jupyter notebook 원격 접속이 가능하도록 세팅해야한다.(물론 local에서도 가능하다.) 세팅이 완료되면 해당 pc가 아닌 곳에서 원격 접속하여 python을 활용한 분석을 할 수 있다. 이때 버전 충돌 방지를 위해 docker container를 새로 만들어 진행할수도 있지만 그 부분은 생략한다. 본 포스팅에서는 어떻게 원격 접속을 할 수 있는지 그 방법에 대해 다뤄보겠다.
설치 과정
1. config 파일 생성
$jupyter notebook --generate-config.
# /home/v2j/.jupyter/jupyter_notebook_config.py
생성시 경로 밑에 위와 같은 config.py 파일이 생성된다.
2. ipython으로 암호생성
$ipython
다음과 같이 입력해주는 이유는 jupyter notebook에 암호를 걸어 함부로 접근하지 못하게 하기 위해서 이다. 모든 데이터 분석은 보안이 중요하다 :) 위와 같은 커멘드를 입력하면 아래 사진과 같은 화면이 나올 것이다.
> out[2] 에 나오는 'sha1:~~~'를 다 복사해준 뒤 'exit()' 으로 나가주자.
> 'sha1:~~~'는 내가 설정해준 암호이다.
3. jupyter_notebook_config.py(환경설정) 파일 수정
$sudo vi ~/.jupyter/jupyter_notebook_config.py
1번에서 만들어준 config.py 파일을 열어 원격 접속을 허용하도록 수정해주자.
> 위 사진과 같이 해당 부분을 " * "로 바꿔준다.
추가로 아래에 사용하고자 하는 서버의 정보를 입력해준다.
> c.NotebookApp.ip = ~~~ # 접속할 ip 입력(서버 ip)
> c.NotebookApp.open_browser = False # 원격 실행이므로 브라우저 실행X
> c.NotebookApp.password = 'sha ~~' # 미리 복사해놓은 암호화된 비밀번호 붙여넣기
> c.NotebookApp.password_required = True # 비밀번호 요구
> c.NotebookApp.port = 8888 # 포트 번호
tip. 쉽게 찾기 위해서는 'esc → :c.NotebookApp.password' 와 같이 해주면 'c.NotebookApp.password' 에 해당하는 line으로 이동한다. (like ctrl + f 와 같은 기능
# 이렇게 실행해도 되지만 추천하지 않는다. 영구적으로 실행시켜 놓아야 편하다.
$jupyter notebook
# 이렇게 실행하면 jupyter notebook을 강제로 종료하기 전까지는 꺼지지 않는다.
$nohup jupyter notebook
# 또는 아래와 같이 실행하자. 자세한 사항은 아래에 추가 설명을 기입하겠다.
$screen -r jupyter
> jupyter service를 screen에 띄워 어떤 ip에서 사용중인지 모니터링 가능 + jupyter notebook 실행
> 'ctrl + a + d' 순서대로 누르면 나가진다. 이렇게 나가게 되면 jupyter notebook이 셧다운 되지 않는다.
> 'ctrl + c' 를 누르면 jupyter notebook이 셧다운 된다.
5. 설정 끝.!
마치며,,
여러 사람이 하나의 서버를 사용해야 한다면 동일한 환경의 Docker image를 이용하여 사용자의 수 만큼 container를 만들어 사용하는 걸 추천한다. 만약 그렇게 하지 않는다면 다른 사용자의 설정으로 인한 버전 충돌 및 서버에 직접적인 영향으로 뭔가 문제가 생길 것이다.
'Python > 환경 설정' 카테고리의 다른 글
Triton Server 환경 구축하기 (0) | 2024.02.20 |
---|---|
NVIDIA Triton 에 대한 고찰 (1) | 2023.10.29 |
댓글