프리 티어 기간이 끝나서, AWS 계정을 새로 만들어야 하는 상황이 왔다.
서버를 구축한 게 1년 전의 일이라 기억이 가물했는데, 어떻게든 과거의 흔적을 더듬어서 다음 번에 다시 서버 구축할 때는 편하게 하려고 여기에 적어두기로 했다.
EC2 서버 구축은 아래의 링크를 참고했다.
https://yoonhoohwang.tistory.com/8
해당 링크에서는 우분투가 18.04 버전이지만 나는 20.04로 인스턴스를 생성했다.
또한 .bash_history 파일을 긁어와 과거의 내가 어떻게 서버를 구축했는지도 참고했다.
아래는 내역이다.
참고한 블로그는 아래와 같다.
https://surprisecomputer.tistory.com/46
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install notebook
sudo pip3 install jinja2 --upgrade && sudo pip3 install notebook --force-reinstall
python3
일단 여기까지 해주고 파이썬으로 아래 코드를 입력해, 주피터 노트북에 접속할 때 사용할 비밀번호를 입력해준다. 우분투 20.04 버전에서는 sudo 명령어를 입력해 jinja를 깔아줘야 한다. 그렇지 않으면 버전 오류가 발생한다.
# from notebook.auth import passwd
# passwd()
# 위의 값은 더 이상 작동하지 않는다.
from jupyter_server.auth import passwd
passwd()
# 이후 발생하는 hash값 복사해두기 'argon2~'
파이썬에서의 입력을 마치면 파이썬을 종료하고 다시 Bash 창으로 돌아온다.
jupyter notebook --generate-config
sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py
위 내용을 입력하면 VIM에서 jupyter_notebook_config.py 파일을 수정하게 된다.
그러면 여기서 입력해줘야 할 게 있다.
# 파일 가장 상단에 작성
c = get_config() # 환경설정 변수 생성
# 위에서 생성한 해쉬값 입력
c.ServerApp.password = u'argon2:~'
c.ServerApp.ip = '0.0.0.0' # 아이피 주소입력
# 근데 이거 0.0.0.0으로 하면 누구나 접근 가능이니 접근 막고 싶으면 IP 설정 추천한다.
c.ServerApp.notebook_dir = '/' # 주피터 노트북이 사용할 디렉토리 경로
jupyter_notebook_config.py에 있는 해당 부분의 주석(#)을 지우고 해당 정보를 입력하면 된다. 이후에 :wq를 입력하고 빠져나온다.
pip install tweepy
jupyter notebook # 이걸 했을 때 localhost binding이 아니면 됐다.
sudo nano /etc/systemd/system/jupyter.service
jupyter.service를 이어서 작성해주면 된다.
아래의 내용을 작성해 붙여넣자.
[Unit]
Description=Jupyter Notebook Server
[Service]
Type=simple
User=ubuntu
ExecStart=/usr/bin/sudo /usr/local/bin/jupyter-notebook --allow-root --config=/home/ubuntu/.jupyter/jupyter_notebook_config.py
[Install]
WantedBy=multi-user.target
그리고 나서 아래의 일련의 과정을 따라하면 끝이다.
sudo systemctl daemon-reload
sudo systemctl enable jupyter
sudo systemctl start jupyter
sudo systemctl status jupyter
sudo systemctl restart jupyter
나는 이후 한참이나 주피터 노트북 접속이 안 된다고 해멨는데, 알고보니 주소를 잘못 입력하고 있었다. 또 내가 같은 실수 할까봐 달아놓는다...
curl ifconfig.me
이걸 입력해서 나오는 ip 주소에 포트 8888으로 접속하면 된다...
'코딩 지식' 카테고리의 다른 글
Discord Bot을 Python으로 제작하기 (0) | 2023.06.22 |
---|---|
github 홈페이지 만들기 (0) | 2022.08.19 |
gspread 유용한 기능들 (0) | 2022.08.19 |
ipynb 파일 py로 Linux에서 변경하기 (0) | 2022.08.19 |
Crontab으로 재부팅 시 파이썬 자동 실행하기 (0) | 2022.08.19 |