저번 시간에는 AWS 의 Ubunto서버를 구축했습니다.
현재 우분투에 접속 하기 위해선, 키 페어를 가지고 있는 PC에서만 접속이 가능하며, 터미널이 있는 곳에서 ssh를 통해 접속할수 있습니다.
Jupyter에는 웹에서도 터미널을 사용 할 수 있는 기능이 있습니다.
그리고, 비밀번호를 통해 웹페이지에 접근 할 수 있도록 웹서버를 만들 수 있습니다.
더 이상 키페어가 없어도, 설정한 비밀번호로 내 우분투 서버로 접속 할 수 있습니다.
먼저 내 우분투 서버에 접속 해주세요.
위 사진 처럼 내 키페어가 있는 폴더에서 코드를 실행 시켜줍니다.
sudo apt-get update
접속 후, 위 코드를 입력하여 우분투 패키지 툴을 다운 받아주세요.
apt-get(Advanced Packaging Tool)은 우분투(Ubuntu)를 포함안 데비안(Debian)계열의 리눅스에서 쓰이는 팩키지 관리 명령어 도구입니다. 우분투에는 GUI로 되어 있는시냅틱 꾸러미 관리자도 있기는 하지만 이런 저런 개발관련 패키지를 설치할 때는 커맨드기반인 apt-get이 더 편하기도 합니다. sudo는 superuser권한으로 실행하기 위함입니다.
python3
...
exit()
sudo apt-get install python3-pip
설치가 끝나면 python3 를 입.하여 파이썬이 같이 설치가 되었는지 확인해주세요.
우분투는 기본적으로 파이썬이 같이 설치가 되어있습니다.
설치가 된걸 확인 했다면, exit()를 입력하려 나와주시고,
python3-pip를 설치해주세요
python3-pip란
파이썬 개발 환경에 패키지 라이브러리를 설치하기 위해서 pip라는 명령어를 사용하게 됩니다.
우분투의 apt-get, 맥OS의 brew, Node.js의 npm 같은 역할이라고 생각하시면 됩니다.
sudo pip3 install notebook
pip3 설치가 끝나면 위 코드를 입력하여 Jupyter-notebook를 설치해 줍니다.
python3
...
from notebook.auth import passwd
Jupyter-notebook설치가 끝나면 다시 Python3을 실행시켜주고,
Jupyter에 비밀번호를 설정해주는 passwd를 실행 시켜줍니다.
passwd('[주피터에 접속할 비밀번호]','sha1')
위 코드를 통해 주피터의 비밀번호를 설정해주시면
SHA1 암호 알고리즘을 통해 암호화된 값이 나타나게 됩니다.
'sha1: ~~' 이 부분을 복사하여 메모장에 잘 적어두시기 바랍니다.
exit()
jupyter notebook --generate-config
exit()를 통해 파이썬에서 나와주고, 위 코드를 통해 쥬피터 노트북을 관리 할 수 있는 config파일을 만들어 줍니다.
sudo vi /home/ubunto/.jupyter/jupyter_notebook_config.py
위 코드를 눌러 해당 폴더를 열어주세요.
그리고 맨 아래로 내려와서 'a'를 눌러주면 해당 폴더를 수정 할 수 있는 상태가 됩니다.
C = get_config()
C.NotebookApp.password = u'[아까 저정해둔 sha1:...]'
C.NotebookApp.ip = '[AWS에서 제공한 프라이빗IPv4]'
C.NotebookApp.notebook_dir = '/'
// esc -> :wq! -> enter
만들어둔 config파일에 위 내용을 추가해주시고, 저장해주시면 됩니다.
저장하는 방법 : esc -> :wq! -> enter
sudo jupyter-notebook --allow-root
위 코드를 실행 시켜 우분투 서버에 쥬피터를 실행 시켜주세요.
위 사진 순서대로 AWS 인스턴스로 다시 돌아와 인바운드 규칙을 추가해줄겁니다.
이때 8888포트를 열고, 모든 사람들이 접근 할 수 있도록 설정 해두겠습니다.
그리고 개방된 주소:8888 로 접속하게 되면 쥬피터가 우분투 서버에서 돌아가는걸 확인 할 수 있습니다.
쥬피터에 설정해둔 비밀번호를 입력 후, 접속하게 되면, 웹에서 해당 서버의 터미널을 사용할 수 있습니다.
이 처럼 우리는 이제, 키페어가 있는 컴퓨터의 터미널에서 뿐만 아니라, 다른 환경에서도 해당 서버로 접속 할 수 있습니다.
현재 켜둔 터미널을 끄게 되면 서버도 같이 꺼지게 되니, 터미널에서 8888포트로 연 서버에 대한 권한을 포기하고,
백그라운드에서 계속 실행 될 수 있도록 하겠습니다.
//control + z
bg
disown -h
이렇게 해두면 터미널이 꺼져도 주피터가 실행되는 서버는 계속해서 백그라운드에서 돌아가게 되니,
더이상 터미널에서 서버에 접근할 필요가 없습니다.
'DevOps > CI_CD' 카테고리의 다른 글
DevOps) CI/CD 구현하기 Docker에 Node 설치 (6) (0) | 2022.04.14 |
---|---|
DevOps) CI/CD 구현하기 우분투에 Docker(도커) 설치 (5) (0) | 2022.04.14 |
DevOps) CI/CD 구현하기 우분투 서버 HTTPS 설정 (4) (0) | 2022.04.13 |
[CI/CD] CI/CD 구현하기 AWS Ubuntu 서버 구축 (2) (0) | 2022.04.11 |
[CI/CD] CI/CD 구현하기 젠킨스(JenKins)/도커(docker)/Node.js/Ubunto (1) (0) | 2022.04.11 |
댓글