https://www.onoffmix.com/event/261724
리눅스에서 자동실행을 위해 Service를 등록해보겠다.
먼저 리눅스 서버나 클라이언트의 머신에서 부팅시 자동으로 실행되게 하고싶은 application이 있거나,
server application의 stop, restart등을 쉽게 관리하고싶을때 필요하다.
OS : 라즈비안 ( 커널 버전 : 4.19) , (Ubuntu 16.04, Ubuntu 18.04 버전도 과정이 동일하다)
Target App: Jupyter-Notebook
1. Service파일 만들기
2. Service등록
1) root 권한으로 /etc/systemd/system/ 위치에 원하는 service file을 만든다.
ex) (service의 이름이 jupyterNotebook라면 service file이름은 jupyterNotebook.service으로 한다.)
1
|
sudo vim /etc/systemd/system/jupyterNotebook.service
|
cs |
2) 아래와 같이 입력한다
1
2
3
4
5
6
7
8
9
|
[Unit]
Description=Jupyter Notebook Server
[Service]
ExecStart=/usr/local/bin/jupyter-notebook
WorkingDirectory=/your/working/dir
[Install]
WantedBy=multi-user.target
|
cs |
WantedBy
: systemctl enable 명령어로 유닛을 등록할때 등록에 필요한 유닛을 지정한다. (종속성 검사 단계)
ExecStart : 실행할 Application이 위치한 전체 경로
WorkingDirectory : 프로세스의 작업 디렉토리. 서비스로 등록한 어플리케이션을 이 디렉토리에서 실행시킨다.
Description
: 유닛에 대한 상세한 설명
우리는 빨간색 변수만 알맞게 수정해주면 된다.
설정한 서비스를 아래처럼 실행한다.
1
2
3
|
sudo systemctl daemon-reload
sudo systemctl enable jupyterNotebook
sudo systemctl start jupyterNotebook
|
cs |
서비스가 제대로 실행이 되었는지 상태를 확인하기 위해선 아래처럼 실행한다.
1
|
sudo systemctl status jupyterNotebook
|
cs |
그리고 제대로 실행이 됐는지 접속해보거나 netstat명령어 등으로 포트를 확인해보면 된다.
추가로 재실행하고싶다면 아래처럼 실행하면 된다.
1
|
sudo systemctl restart jupyterNotebook
|
cs |
추가---
아래의 오류 또는 메시지 가 나오는 경우
Active: failed (Result: exit-code)
또는
-bash: syntax error near unexpected token `newline'
또는
Running as root is not recommended. Use --allow-root to bypass.
2가지 해결방법이 존재.
1. 루트에서 계속 실행하는 방법
systemctl은 root에서 실행되므로
anaconda의 가상환경에 설치된 jupyter등 non-root에서 실행되는 경우 jupyterNotebook.service파일에서 ExecStart의뒤에 --allow-root --config="/home/username/
.jupyter/jupyter_notebook_config.py"를 추가해야한다.
ExecStart=/usr/local/bin/jupyter-notebook --allow-root --config="/home/username/
.jupyter/jupyter_notebook_config.py"
2. non-root로 자기 계정에서 실행하는방법
jupyterNotebook.service파일에서 User=자기유저이름 을 추가한다.
[스크랩]인텔리제이에서 스프링 war 배포 (0) | 2020.07.28 |
---|---|
인텔리제이에서 스프링 MVC + MariaDB 세팅하기 maven(spring on intellij) (1) | 2020.07.27 |
git서버 구축 - gitlab을 활용한 나만의 git서버 만들기 (0) | 2019.12.19 |
리눅스 Ubuntu에 Jupyter설치 및 설정하기 (0) | 2019.08.15 |
리눅스 ubuntu에 가상환경(anaconda) 설치하기 (0) | 2019.08.13 |