Avís
Aquest article és antic i és possible que part de la informació estigui desactualitzada o ja no sigui vàlida actualment.
Si tens qualsevol dubte o necessites confirmar algun detall, et recomanem contactar amb el nostre equip de suport per rebre informació actualitzada i assistència personalitzada.
El Projecte Jupyter és una organització sense ànim de lucre creada per "desenvolupar programari de codi obert, estàndards oberts i serveis per a la computació interactiva en desenes de llenguatges de programació" (creat a partir de IPython de Fernando Pérez). Jupyter admet entorns d'execució en diverses desenes de llenguatges de programació. El nom del projecte Jupyter és una referència als tres llenguatges de programació principals admesos per Jupyter, que són Julia, Python i R, i també és un homenatge als quaderns de Galileu que registren el descobriment dels satèl·lits de Júpiter. El projecte Jupyter ha desenvolupat i donat suport als productes de computació interactiva Jupyter Notebook, JupyterHub i JupyterLab, la versió de nova generació de Jupyter Notebook.
Passos previs i instal·lació de Jupyter
Primer, actualitza els repositoris i els paquets:
# apt update && apt upgradeUn cop actualitzats, hauràs d'instal·lar els paquets necessaris:
# apt install nginx python3-certbot-nginx python3-pip python3-dev python3-virtualenvPosteriorment, elimina i/o crea un fitxer per al lloc de NGINX:
# rm /etc/nginx/sites-enabled/default && vi /etc/nginx/sites-enabled/defaultAquest fitxer ha de contenir la configuració següent (recorda modificar el domini d'exemple):
##
# configuració http de nivell superior per a les capçaleres websocket
# Si Upgrade està definit, Connection = upgrade
# Si Upgrade és buit, Connection = close
# Consulta https://jupyterhub.readthedocs.io/en/stable/reference/config-proxy.html per obtenir més detalls.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name ejemplo.com;
location / {
proxy_pass https://127.0.0.1:8888;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# capçaleres websocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Scheme $scheme;
proxy_buffering off;
}
}
Un cop desats els canvis, pots obtenir el certificat amb Certbot:
# certbot --nginx --redirect -d ejemplo.comPosteriorment, per seguretat és recomanable no utilitzar l'usuari root. Per tant, crea un usuari per al projecte:
# useradd clouding && usermod -aG sudo cloudingA més, crea un directori per a l'entorn i modifica'n la propietat:
# mkdir /home/clouding && chown clouding:clouding /home/cloudingI obre una sessió de l'usuari:
# su cloudingDesprés accedeix al directori creat:
# cd /home/clouding/Per crear l'entorn virtual per a Jupyter:
# virtualenv jupyter created virtual environment CPython3.8.10.final.0-64 in 206ms
creator CPython3Posix(dest=/home/clouding/jupyter, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, pkg_resources=latest, via=copy, app_data_dir=/home/clouding/.local/share/virtualenv/seed-app-data/v1.0.1.debian.1)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Un cop creat, hauràs d'entrar al directori de l'entorn:
# cd jupyter/I activa'l:
# source bin/activateAra, dins de l'entorn, podràs instal·lar Jupyter:
(jupyter) # pip install jupyterUn cop completada la instal·lació, crea el fitxer de configuració:
(jupyter) # jupyter notebook --generate-configPer defecte s'accedeix a Jupyter amb tokens, però pots utilitzar una contrasenya:
(jupyter) # jupyter notebook passwordPosteriorment, edita el fitxer de configuració:
# vi /home/clouding/.jupyter/jupyter_notebook_config.pyPer descomentar i modificar les línies següents:
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.certfile = u'/etc/letsencrypt/live/ejemplo.com/fullchain.pem'
c.NotebookApp.keyfile = u'/etc/letsencrypt/live/ejemplo.com/privkey.pem'
Un cop configurat, pots executar Jupyter:
(jupyter) # jupyter notebook [I 17:00:41.941 NotebookApp] Writing notebook server cookie secret to /home/clouding/.local/share/jupyter/runtime/notebook_cookie_secret
[I 17:00:42.230 NotebookApp] Serving notebooks from local directory: /home/clouding/jupyter
[I 17:00:42.230 NotebookApp] Jupyter Notebook 6.4.10 is running at:
[I 17:00:42.230 NotebookApp] ejemplo.com:8888/
[I 17:00:42.230 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
D'altra banda, si vols que s'iniciï automàticament, pots crear un servei amb systemd. Per fer-ho, crea un fitxer per al servei:
# vi /etc/systemd/system/jupyter.serviceAmb el contingut següent:
[Unit]
Description=jupyter daemon
After=network.target
[Service]
User=clouding
Group=clouding
WorkingDirectory=/home/clouding/jupyter
ExecStart=/bin/bash -c 'source /home/clouding/jupyter/bin/activate; jupyter notebook'
[Install]
WantedBy=multi-user.target
Finalment, habilita i inicia el servei creat:
# systemctl enable jupyter.service && systemctl start jupyter.service && systemctl status jupyter.serviceEsperem haver-te ajudat amb aquest article🙂. Recorda, si tens consultes sobre aquesta o qualsevol altra qüestió relacionada amb els teus servidors a Clouding, no dubtis a escriure a soporte@clouding.io Som al teu costat per a tot el que necessitis!