Jupyter là một ứng dụng web miễn phí và mã nguồn mở dành cho khoa học dữ liệu và điện toán tương tác. Jupyter hỗ trợ mọi ngôn ngữ lập trình và cung cấp nhiều phần mềm, chẳng hạn như JupyetrLab, cung cấp môi trường chỉnh sửa nhiều sổ tay có nhiều tính năng và có nhiều tab, Notebook là một công cụ biên soạn sổ tay nhẹ và đơn giản, Qtconsole và nhiều phần mềm khác.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Jupyter và cấu hình Jupyter Notebook trên máy chủ Debian 12. Bạn cũng sẽ bảo mật Jupyter Notebook bằng mật khẩu và chạy Jupyter Notebook như một dịch vụ systemd. Cuối cùng, bạn sẽ cài đặt và cấu hình Nginx làm proxy ngược để cài đặt Jupyter Notebook.
Để bắt đầu, hãy chạy lệnh bên dưới để cập nhật chỉ mục gói Debian của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22190%22%3E%3C/svg%3E
Bây giờ hãy cài đặt Python và các gói phụ thuộc như Pip, venv và Python Dev. Nhập 'Y' để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22314%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh 'pip3' bên dưới để nâng cấp Pip của bạn phiên bản.
Bây giờ hãy kiểm tra phiên bản Python và Pip bằng lệnh bên dưới.
Bạn có thể thấy bên dưới rằng Python 3.11 và Pip 24.3 đã được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22155%22%3E%3C/svg%3E
Đăng nhập vào người dùng của bạn bằng lệnh bên dưới.
Chạy lệnh 'python3' bên dưới để tạo Môi trường ảo Python mới 'venv'. Thao tác này sẽ cài đặt Python và Pip trong môi trường ảo của bạn, tách biệt với hệ thống của bạn.
Kích hoạt môi trường ảo Python 'venv'. Sau khi kích hoạt, dấu nhắc shell của bạn sẽ trở thành '(venv) username@host ...'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22595%22%20height=%22195%22%3E%3C/svg%3E
Nếu bạn muốn hủy kích hoạt 'venv', hãy thực hiện lệnh 'deactivate' bên dưới.
Để cài đặt Jupyter, hãy chạy lệnh 'pip3' bên dưới.
Bạn có thể xem bên dưới quá trình cài đặt Jupyter trong môi trường ảo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22609%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản Jupyter bằng lệnh sau lệnh.
Trong đầu ra sau, bạn có thể thấy phiên bản của từng thành phần Jupyter được cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22462%22%20height=%22402%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh bên dưới để tạo cấu hình cho Jupyter Notebook. Lệnh này sẽ tạo cấu hình mới cho '~/.jupyter/jupyter_notebook_config.py'.
Bây giờ hãy thiết lập mật khẩu cho Jupyter Notebook bằng lệnh bên dưới. Nhập mật khẩu khi được nhắc và lặp lại.
Cuối cùng, thực hiện lệnh 'deactivate' để đăng xuất khỏi môi trường ảo 'venv'.
Tạo một tệp dịch vụ systemd mới '/etc/systemd/system/jupyter.service' bằng trình chỉnh sửa 'nano' sau.
Chèn cấu hình bên dưới để chạy Jupyter Notebook như một systemd dịch vụ.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Bây giờ hãy chạy lệnh 'systemctl' bên dưới để khởi động lại trình quản lý systemd và áp dụng các thay đổi của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22620%22%20height=%22132%22%3E%3C/svg%3E
Cuối cùng, hãy khởi động và kích hoạt dịch vụ 'jupyter' bằng lệnh bên dưới.
Trong kết quả đầu ra sau, bạn có thể thấy dịch vụ 'jupyter' đang chạy trên hệ thống của bạn.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Đăng nhập vào tài khoản người dùng của bạn và mở cấu hình Jupyter '~/.jupyter/jupyter_notebook_config.py' bằng trình soạn thảo 'nano' sau.
Để bật quyền truy cập từ xa, hãy bỏ ghi chú tùy chọn 'c.ServerApp.allow_remote_access' và thay đổi giá trị thành 'Đúng'.
Lưu và thoát tệp khi hoàn tất.
Tiếp theo, chạy lệnh 'systemctl' bên dưới để khởi động lại dịch vụ 'jupyter' và áp dụng các thay đổi của bạn. Với lệnh này, mã thông báo mới sẽ được tạo và có thể tìm thấy trong tệp nhật ký.
Cuối cùng, hãy kiểm tra trạng thái dịch vụ 'jupyter' bằng lệnh sau.
Xem phần cuối của tin nhắn và sao chép mã thông báo đã tạo cho JupyterNotebook.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22173%22%3E%3C/svg%3E
Cài đặt gói 'nginx' bằng lệnh 'apt' bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22305%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo một Cấu hình khối máy chủ Nginx '/etc/nginx/sites-available/jupyter' với trình chỉnh sửa 'nano' sau.
Chèn cấu hình bên dưới để thiết lập Nginx làm proxy ngược cho Jupyter Notebook. Đảm bảo thay đổi tham số 'server_name' bằng tên miền của bạn.
Lưu tệp và thoát khỏi trình chỉnh sửa.
Tiếp theo, chạy lệnh bên dưới để kích hoạt khối máy chủ 'jupyter' và xác minh cấu hình Nginx của bạn.
Nếu bạn có cài đặt Nginx phù hợp, bạn sẽ thấy đầu ra như 'cú pháp là ok - kiểm tra là thành công'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22187%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web Nginx và kiểm tra trạng thái Nginx của bạn.
Nếu Nginx đang chạy, bạn có thể thấy đầu ra như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E
Nhập mật khẩu của bạn và nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22182%22%3E%3C/svg%3E
Bây giờ bạn sẽ thấy bảng điều khiển Jupyter Notebook như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22273%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22196%22%3E%3C/svg%3E
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt Jupyter và cấu hình Jupyter Notebook trên máy chủ Debian 12. Bạn cũng sẽ bảo mật Jupyter Notebook bằng mật khẩu và chạy Jupyter Notebook như một dịch vụ systemd. Cuối cùng, bạn sẽ cài đặt và cấu hình Nginx làm proxy ngược để cài đặt Jupyter Notebook.
Điều kiện tiên quyết
Trước khi bắt đầu, hãy đảm bảo bạn có những thứ sau:- Máy chủ Debian 12
- 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ủ
Cài đặt các gói Python
Trước khi cài đặt Jupyter, bạn phải cài đặt Python, trình quản lý gói Pip Python, venv để tạo môi trường ảo Python và git. Trong phần này, bạn sẽ cài đặt các gói đó bằng 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 Debian của bạn.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22190%22%3E%3C/svg%3E
Bây giờ hãy cài đặt Python và các gói phụ thuộc như Pip, venv và Python Dev. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo apt install python3 python3-pip python3-dev python3-venv git
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22314%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh 'pip3' bên dưới để nâng cấp Pip của bạn phiên bản.
Mã:
pip3 install --break-system-package --upgrade pip
Mã:
python3 --version
pip3 --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22683%22%20height=%22155%22%3E%3C/svg%3E
Thiết lập Môi trường ảo Python
Sau khi bạn đã cài đặt Python và các phụ thuộc khác, bạn sẽ tạo một môi trường ảo Python mới cho cài đặt Jupyter. Với điều này, cài đặt Jupyter của bạn sẽ được cô lập trong môi trường ảo. Ngoài ra, bạn cần một người dùng Linux chuyên dụng, vì vậy hãy đảm bảo rằng bạn đã chuẩn bị sẵn người dùng của mình.Đăng nhập vào người dùng của bạn bằng lệnh bên dưới.
Mã:
su - username
Mã:
python3 -m venv venv
Mã:
source venv/bin/activate
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22595%22%20height=%22195%22%3E%3C/svg%3E
Nếu bạn muốn hủy kích hoạt 'venv', hãy thực hiện lệnh 'deactivate' bên dưới.
Mã:
deactivate
Cài đặt Jupyter
Bây giờ bạn đã tạo và kích hoạt môi trường ảo Python, bạn có thể bắt đầu cài đặt Jupyter thông qua trình quản lý gói Python Pip.Để cài đặt Jupyter, hãy chạy lệnh 'pip3' bên dưới.
Mã:
pip3 install jupyter
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22609%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản Jupyter bằng lệnh sau lệnh.
Mã:
jupyter --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22462%22%20height=%22402%22%3E%3C/svg%3E
Bật xác thực trong Jupyter Notebook
Sau khi cài đặt Jupyter, bạn sẽ cấu hình cài đặt Jupyter Notebook bằng cách bật xác thực mật khẩu.Trước tiên, hãy chạy lệnh bên dưới để tạo cấu hình cho Jupyter Notebook. Lệnh này sẽ tạo cấu hình mới cho '~/.jupyter/jupyter_notebook_config.py'.
Mã:
jupyter notebook --geenrate-config
Mã:
jupyter notebook password
Mã:
deactivate
Chạy Jupyter Notebook dưới dạng Systemd Dịch vụ
Trong phần này, bạn sẽ tạo một dịch vụ systemd mới sẽ chạy Jupyter Notebook. Với điều này, Jupyter Notebook sẽ chạy ở chế độ nền như một dịch vụ systemd và bạn có thể dễ dàng quản lý nó bằng tiện ích 'systemctl'.Tạo một tệp dịch vụ systemd mới '/etc/systemd/system/jupyter.service' bằng trình chỉnh sửa 'nano' sau.
Mã:
sudo nano /etc/systemd/system/jupyter.service
Mã:
[Unit]
Description=Jupyter Notebook
[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/alice/venv/bin/jupyter-notebook --config=/home/alice/.jupyter/jupyter_notebook_config.py --allow-root
User=root
Group=root
WorkingDirectory=/home/alice/venv
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Bây giờ hãy chạy lệnh 'systemctl' bên dưới để khởi động lại trình quản lý systemd và áp dụng các thay đổi của bạn.
Mã:
sudo systemctl daemon-reload
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22620%22%20height=%22132%22%3E%3C/svg%3E
Cuối cùng, hãy khởi động và kích hoạt dịch vụ 'jupyter' bằng lệnh bên dưới.
Mã:
sudo systemctl enable --now jupyter
sudo systemctl status jupyter
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Cho phép truy cập từ xa vào Jupyter Notebook
Trong phần này, bạn sẽ bật quyền truy cập từ xa vào Jupyter. Bạn phải thực hiện thao tác này nếu muốn thiết lập proxy ngược trước cài đặt Jupyter của mình.Đăng nhập vào tài khoản người dùng của bạn và mở cấu hình Jupyter '~/.jupyter/jupyter_notebook_config.py' bằng trình soạn thảo 'nano' sau.
Mã:
su - username
nano ~/.jupyter/jupyter_notebook_config.py
Mã:
c.ServerApp.allow_remote_access = True
Tiếp theo, chạy lệnh 'systemctl' bên dưới để khởi động lại dịch vụ 'jupyter' và áp dụng các thay đổi của bạn. Với lệnh này, mã thông báo mới sẽ được tạo và có thể tìm thấy trong tệp nhật ký.
Mã:
sudo systemctl restart jupyter
Mã:
sudo systemctl status jupyter
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22173%22%3E%3C/svg%3E
Thiết lập Nginx làm proxy ngược
Bây giờ Jupyter Notebook đang chạy như một dịch vụ, bước tiếp theo là cài đặt Nginx và cấu hình nó làm proxy ngược cho Jupyter Notebook. Bằng cách này, bạn có thể dễ dàng bảo mật Jupyter Notebook bằng HTTPS.Cài đặt gói 'nginx' bằng lệnh 'apt' bên dưới.
Mã:
sudo apt install nginx -y
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22305%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy tạo một Cấu hình khối máy chủ Nginx '/etc/nginx/sites-available/jupyter' với trình chỉnh sửa 'nano' sau.
Mã:
sudo nano /etc/nginx/sites-available/jupyter
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;
}
}
Tiếp theo, chạy lệnh bên dưới để kích hoạt khối máy chủ 'jupyter' và xác minh cấu hình Nginx của bạn.
Mã:
sudo ln -s /etc/nginx/sites-available/jupyter /etc/nginx/sites-enabled/
sudo nginx -t
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22187%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web Nginx và kiểm tra trạng thái Nginx của bạn.
Mã:
sudo systemctl restart nginx
sudo systemctl status nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E
Truy cập Jupyter Notebook
Mở trình duyệt web của bạn và truy cập tên miền cài đặt Jupyter Notebook của bạn như http://lab.howtoforge.local/. Nếu cài đặt thành công, bạn sẽ được nhắc xác thực mật khẩu Jupyter.Nhập mật khẩu của bạn và nhấp vào 'Đăng nhập'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22182%22%3E%3C/svg%3E
Bây giờ bạn sẽ thấy bảng điều khiển Jupyter Notebook như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22273%22%3E%3C/svg%3E
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22196%22%3E%3C/svg%3E