Cách cài đặt JupyterLab trên Ubuntu 24.04

theanh

Administrator
Nhân viên
JupyterLab là một môi trường phát triển tương tác dựa trên web nguồn mở mở rộng trải nghiệm Jupyter Notebook cổ điển, cung cấp giao diện linh hoạt và mạnh mẽ hơn cho khoa học dữ liệu và các tác vụ tính toán khoa học. Nó hỗ trợ nhiều ngôn ngữ lập trình, tập trung mạnh vào Python và cung cấp các tính năng như chỉnh sửa mã, trực quan hóa dữ liệu và đầu ra tương tác trong một không gian làm việc tích hợp duy nhất. JupyterLab cho phép người dùng tạo và quản lý sổ tay, trình soạn thảo văn bản, thiết bị đầu cuối và các thành phần tùy chỉnh khác trong bố cục có tab, nâng cao năng suất và khả năng cộng tác. Trên Ubuntu, nó có thể dễ dàng được cài đặt thông qua các trình quản lý gói như apt hoặc thông qua trình cài đặt gói pip của Python, biến nó thành một công cụ dễ tiếp cận cho các nhà phát triển và nhà nghiên cứu sử dụng bản phân phối Linux phổ biến này.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Jupyter trên Ubuntu 24.04. Bạn sẽ cài đặt và bảo mật Jupyter bằng xác thực mật khẩu. Sau đó, bạn sẽ cài đặt Nginx và cấu hình nó như một proxy ngược.

Điều kiện tiên quyết​

Trước khi bắt đầu, hãy đảm bảo bạn có các yêu cầu sau:
  • Ubuntu 24.04.
  • Người dùng không phải root có quyền quản trị viên.
  • Tên miền trỏ đến địa chỉ IP của máy chủ (miền công cộng hoặc riêng tư).

Cài đặt các phụ thuộc​

Trong phần này, bạn sẽ cài đặt các phụ thuộc cho Jupyter, bao gồm Python, Pip, venvNode.js. Các gói đó có sẵn theo mặc định trên kho lưu trữ Ubuntu và bạn sẽ cài đặt chúng thông qua trình quản lý gói APT.

Để bắt đầu, hãy chạy lệnh bên dưới để cập nhật chỉ mục gói Ubuntu của bạn.

sudo apt update

Bây giờ hãy cài đặt Python3 và Node.js thông qua kho lưu trữ Ubuntu bằng lệnh sau - Nhập Y để xác nhận cài đặt:

sudo apt install python3-dev python3-pip python3-venv nodejs npm


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22301%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản Python, Node.js và Pip bằng lệnh sau:

python3 -v
pip3 -v
node -v

Bạn có thể thấy Python 3.12, Node.js 18 và Pip 24 đã được cài đặt bên dưới.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22656%22%20height=%22235%22%3E%3C/svg%3E

Cài đặt Jupyter​

Sau khi cài đặt các phần phụ thuộc, bạn sẽ cài đặt Jupyter thông qua Pip trong môi trường ảo Python. Bạn sẽ chạy Jupyter với tư cách là người dùng không phải root, vì vậy hãy đảm bảo rằng bạn đã tạo nó.

Đăng nhập vào người dùng của bạn bằng lệnh bên dưới - Ví dụ sau sẽ sử dụng người dùng alice:

su - alice

Chạy lệnh bên dưới để tạo thư mục mới ~/Dev và di chuyển vào đó. Sau đó, tạo một môi trường ảo Python venv mới.

mkdir -p ~/Dev; cd ~/Dev
python3 -v venv venv

Bây giờ hãy kích hoạt môi trường ảo venv bằng lệnh sau. Sau khi kích hoạt, shell của bạn sẽ giống như (venv) user@hostname.

source venv/bin/activate

Tiếp theo, chạy lệnh pip3 bên dưới để cài đặt Jupyter thông qua kho lưu trữ PyPi:

pip3 install jupyter

Dưới đây bạn có thể thấy quá trình cài đặt jupyter thông qua lệnh pip3:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22427%22%3E%3C/svg%3E


Sau khi quá trình hoàn tất, hãy kiểm tra phiên bản Jupyter bằng lệnh sau:

jupyter --version

Bạn sẽ thấy phiên bản của từng thành phần Jupyter, chẳng hạn như jupyterlab, jupyter_server, jupyter_client, jupyter_core, và iPython.

Cấu hình Jupyter​

Trong phần này, bạn sẽ cấu hình hai thành phần chính Jupyter, đó là jupyter_serverjupyterlab. Bạn sẽ tạo cấu hình và thiết lập xác thực mật khẩu cho cả hai thành phần. Sau đó, bạn sẽ chạy Jupyter thông qua dòng lệnh.

Trước tiên, hãy chạy lệnh jupyter bên dưới để tạo cấu hình và mật khẩu jupyter_server. Nhập mật khẩu khi được nhắc và lặp lại.

jupyter server --generate-config
jupyter server password

Bạn có thể thấy bên dưới jupyter_server cấu hình được tạo thành ~/.jupyter/jupyter_server_config.py và tệp mật khẩu là được viết cho ~/.jupyter/jupyter_server_config.json.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22158%22%3E%3C/svg%3E


Kiểm tra jupyter_server cấu hình bằng lệnh bên dưới.

jupyter server --show-config

Và bạn sẽ thấy đầu ra tương tự như sau:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22435%22%3E%3C/svg%3E


Tiếp theo, chạy lệnh jupyter bên dưới để tạo jupyterlab cấu hình thành ~/.jupyter/jupyter_lab_config.py. Sau đó, hãy kiểm tra cấu hình jupyterlab.

jupyter lab --generate-config
jupyter lab --show-config

Trong đầu ra sau, đường dẫn URL mặc định cho jupyterlab/lab.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22474%22%3E%3C/svg%3E


Bây giờ hãy chạy Lệnh jupyter bên dưới để khởi động jupyterlab từ dòng lệnh. jupyterlab phải chạy trên cổng 8888 và đường dẫn URL lab.

jupyter lab --ip 0.0.0.0


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22373%22%3E%3C/svg%3E


Truy cập http://server-ip:8888/lab để truy cập cài đặt jupyterlab của bạn. Bạn sẽ thấy bảng điều khiển Jupyter sau.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22318%22%3E%3C/svg%3E


Bây giờ hãy nhấn Ctrl+c và nhập yes để chấm dứt quy trình jupyterlab.

Chạy JupyterLab dưới dạng dịch vụ​

Trong hướng dẫn này, bạn sẽ chạy Jupyter ở chế độ nền như một dịch vụ. Vì vậy, bây giờ bạn cần tạo một tệp dịch vụ systemd mới cho Jupyter.

Tạo một tệp dịch vụ systemd mới /etc/systemd/system/jupyterlab.service bằng lệnh trình chỉnh sửa nano sau.

sudo nano /etc/systemd/system/jupyterlab.service

Nhập cấu hình sau và đảm bảo thay đổi người dùng alice bằng tên người dùng của bạn.
Mã:
[Unit]
Description=JupyterLab Service
[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/alice/Dev/venv/bin/jupyter lab --config=/home/alice/.jupyter/jupyter_lab_config.py
User=alice
Group=alice
WorkingDirectory=/home/alice/Dev
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.

Bây giờ hãy chạy lệnh bên dưới để tải lại trình quản lý systemd và kích hoạt tệp dịch vụ mới của bạn.

sudo systemctl daemon-reload

Tiếp theo, hãy khởi động và bật jupyterlab dịch vụ bằng lệnh bên dưới.

sudo systemctl start jupyterlab
sudo systemctl enable jupyterlab


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22210%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh bên dưới để kiểm tra trạng thái dịch vụ jupyterlab. Bạn sẽ thấy dịch vụ jupyterlab đang chạy và được bật trên hệ thống của bạn.

sudo systemctl status jupyterlab


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22216%22%3E%3C/svg%3E

Cho phép truy cập từ xa vào Jupyter​

Trước khi thiết lập Nginx làm proxy ngược, bạn cần cho phép truy cập từ xa trên . Bây giờ bạn sẽ sửa đổi tệp ~/.jupyter/jupyter_lab_config.py và bật quyền truy cập từ xa.

Đầu tiên, hãy mở cấu hình jupyterlab ~/.jupyter/jupyter_lab_config.py bằng trình chỉnh sửa nano sau.

nano ~/.jupyter/jupyter_lab_config.py

Bỏ chú thích tùy chọn c.ServerApp.allow_remote_access và đổi thành . Thao tác này sẽ cho phép truy cập từ xa cho jupyterlab.
Mã:
c.ServerApp.allow_remote_access = True
Lưu và thoát tệp khi hoàn tất.

Bây giờ hãy chạy lệnh bên dưới để khởi động lại jupyterlab và áp dụng những thay đổi của bạn. Sau khi quyền truy cập từ xa được bật trong Jupyter, một mã thông báo mới để thiết lập mật khẩu sẽ được tạo.

sudo systemctl restart jupyterlab

Xem phần cuối của thông báo và sao chép mã thông báo đã tạo cho Jupyter.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22137%22%3E%3C/svg%3E

Thiết lập Nginx làm proxy ngược​

Trong phần này, bạn sẽ cài đặt và cấu hình Nginx làm proxy ngược cho cài đặt Jupyter của mình. Vì vậy, hãy đảm bảo rằng bạn có tên miền, dù là tên miền công cộng hay riêng tư.

Cài đặt máy chủ web Nginx bằng lệnh bên dưới - Nhập Y để tiến hành cài đặt.

sudo apt install nginx


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22748%22%20height=%22341%22%3E%3C/svg%3E


Sau khi cài đặt hoàn tất, hãy tạo cấu hình khối máy chủ Nginx mới /etc/nginx/sites-available/jupyterlab bằng trình chỉnh sửa nano sau.

sudo nano /etc/nginx/sites-available/jupyterlab

Thêm cấu hình sau vào tệp và đảm bảo thay đổi tên miền trong tùy chọn server_name.
Mã:
server { listen 80; server_name lab.howtoforge.local; access_log /var/log/nginx/howtoforge.local.access.log; error_log /var/log/nginx/howtoforge.local.error.log; location / { proxy_pass http://127.0.0.1:8888; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_http_version 1.1; proxy_redirect off; proxy_buffering off; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; }
}
Khi hoàn tất, hãy lưu và thoát tệp.

Bây giờ hãy chạy lệnh bên dưới để kích hoạt khối máy chủ jupyterlab và xác minh cú pháp Nginx của bạn. Nếu bạn có cấu hình đúng, bạn sẽ nhận được đầu ra syntax is ok ... test is successful.

sudo ln -s /etc/nginx/sites-available/jupyterlab /etc/nginx/sites-enabled/
sudo nginx -t

Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại Nginx và áp dụng lệnh mới của bạn jupyterlab cấu hình khối máy chủ. Sau khi lệnh được thực thi, Jupyter của bạn sẽ chạy dưới proxy ngược Nginx.

sudo systemctl restart nginx


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22169%22%3E%3C/svg%3E

Truy cập Jupyter​

Nếu bạn đang sử dụng Linux hoặc MacOS, hãy chỉnh sửa Tệp /etc/hosts. Đối với người dùng Windows, hãy chỉnh sửa tệp C:\System32\drivers\etc\hosts với tư cách quản trị viên.

Thêm địa chỉ IP máy chủ và tên miền Jupyter của bạn như sau:
Mã:
192.168.5.65 lab.howtoforge.local
Lưu và thoát khỏi tệp.

Bây giờ hãy mở trình duyệt web của bạn và truy cập tên miền Jupyter của bạn như http://lab.howtoforge.local/. Nếu cấu hình của bạn thành công, bạn sẽ thấy trang đăng nhập Jupyter.

Cuộn xuống dưới cùng và dán mã thông báo cho cài đặt Jupyter của bạn. Sau đó, nhập mật khẩu mới cho Jupyter và nhấp vào Log in and set new password.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22726%22%20height=%22403%22%3E%3C/svg%3E


Nếu thành công, bạn sẽ thấy Bảng điều khiển Jupyter như sau - Và mật khẩu của bạn cho Jupyter cũng đã thay đổi.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22385%22%3E%3C/svg%3E

Kết luận​

Xin chúc mừng! Bạn đã hoàn tất cài đặt Jupyter trên Ubuntu 24.04. Bây giờ bạn có Jupyter chạy với Nginx như một proxy ngược và được bảo mật bằng xác thực mật khẩu. Nếu bạn đang chạy Jupyter trên máy chủ công cộng hoặc VPS (Máy chủ riêng ảo), bạn phải triển khai HTTPS trên proxy ngược Nginx của mình. Bạn có thể thực hiện điều đó thông qua Certbot và Letsencrypt.
 
Back
Bên trên