이전 글에서 파이썬 3.6 을 설치하고 실행 해봤다.
필자의 서버에서 "python3" 을 실행하면 파이썬 3.6 을 실행 할 수 있다.
이제 쥬피터를 서버에 올리고 여러분의 컴퓨터에서 본인 서버에 올린 쥬피터에
접속 할 수 있는 환경까지 구축 해 보겠다.
서버에는 기본적으로 python3.6과 nginx 가 설치되어 있고 잘 실행된다는 가정 하에 작성 한다.
만약, 안되어있다면 아래 글을 참고하여 nginx 와 파이썬을 설치 하자.
https://ballbot.tistory.com/13
pip 를 통해 주피터 설치
파이썬과 pip 가 있다면 주피터 설치는 매우 쉽다.
pip3 install jupyter
쥬피터 설치를 다 했다면, 실행해보자.
jupyter notebook
root 계정에서는 아래 오류가 발생할것이다.
만약 오류가 발생하지 않는다면 본인은 루트 계정이 아니기 때문.
물론 --allow-root 를 옵션으로 붙여주면 잘 실행 되지만, 보안상 문제가 있기 때문에 권장하지 않는다.
root 로 쥬피터를 실행하게되면 파이썬 코드를 실행하는 주피터 커널의 권한이 필요 이상으로 높아
해커가 접속한다면 뭔짓을 할지 알 수 없다.
여튼, 결론은 루트 쓰지 마세요 이니 새로운 계정을 하나 만들어서 주피터를 실행 하기로 했다.
계정 추가하는 부분은 생략 하고, 계정이 생성되었다는 가정 하에 계속 진행해보자.
주피터 설정 하기
jupyter notebook --generate-config
주피터 환경 설정 파일을 생성한다.
숨김 파일이라 생성 됬는지 보려면 ls -al 또는 ll 와 같은 명령어를 사용 해야 한다.
.jupyter 폴더로 들어 간다.
jupyter_notebook_config.py 파일을 vi 에디터로 열어서 몇가지 수정을 할 것이다.
1. 서버 포트
2. 로컬로 실행
c.NotebookApp.ip = 'localhost' 로 변경 한다.
c.NotebookApp.port = [port]
필자는 53000 번으로 했다. 내부에서 사용되는 아무 포트나사용 해도 된다.
어짜피 nginx 와 연동 해서 서브 도메인을 통해 접속하게 할 것이므로
포트는 아무거나 사용 하자.
이 환경설정 파일에서 비밀번호도 설정 할 수 있지만 그것은 다른 글로 빼서 다시 정리해본다.
이제 주피터를 다시 실행 해보자.
jupyter notebook
로그를 보면 http://localhost:53000 으로 열림을 확인 할 수 있다.
접속 하고 싶지만 서버 컴퓨터에는 브라우저가 없다.
이를 nginx 와 연동해서 우리 컴퓨터에서 방금 만든 주피터 서버에 접속 할 수 있도록 설정을 바꿔보자.
nginx 프록시 설정
이 글의 목표는 1차 도메인 "saintdev.kr" 에서 2차 도메인을 추가해 "jupyter.saintdev.kr" 로 접속하면
방금 연 주피터 서버에 접속 시키는 것 이다.
별로 어렵지 않다. 먼저 현재 사용중인 호스팅 업체 설정창으로 들어가 서브 도메인을 하나 추가 한다.
필자는 퍼니오를 사용하고 있으므로 퍼니오 사이트에서 설정 했다.
본인 환경에 맞게 서브 도메인 설정을 바꿔보자.
이제 콘솔로 돌아와 nginx 설정을 준비한다.
cd /etc/nginx
nginx 설정 폴더로 이동한다. (환경마다 설정 파일 위치가 다를 수 있다. 참고하자.)
conf.d 폴더로 이동하여, default.conf 파일을 연다.
server {
listen 80;
server_name [ServerName];
location / {
proxy_pass http://localhost:[YourPort];
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Origin "";
}
}
default.conf 파일 맨 하단에 위와 같은 설정을 추가 한다.
proxy_pass 부분에 주피터에서 설정한 포트를 설정 해야 하며 server_name 부분에는 위에서 설정한
2차 도메인을 설정 해야 한다.
저장하고 nginx 를 다시 시작 한다.
service nginx restart
설정을 모두 완료 했다.
이제 접속을 해보자.
기란!
다음 포스팅에서, 지금 보이는 로그인 페이지에 들어갈 비밀번호를 설정하는 부분을 다뤄보겠다.
'볼봇의 코딩 생활 > 볼봇의 삽질' 카테고리의 다른 글
내가 퍼니오 호스팅을 떠난 이유와 Vultr 사용 (1) | 2020.05.18 |
---|---|
CentOS 6 에 Python 3 설치 하기 (0) | 2019.04.15 |