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ổ ghi chép có nhiều tính năng và có nhiều tab, Notebook là công cụ biên soạn sổ ghi chép nhẹ và đơn giản, Qtconsole và nhiều phần mềm khác nữa.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước hướng dẫn cách cài đặt JupyterLab trên máy chủ Rocky Linux 9. Bạn sẽ cài đặt JupyterLab, bật xác thực JupyterLab, sau đó thiết lập Nginx làm proxy ngược.
Để bắt đầu, hãy chạy lệnh bên dưới để cài đặt các gói phát triển vào hệ thống của bạn.
Sau đó, cài đặt Pip, Node.js và Nginx bằng cách sử dụng lệnh sau lệnh.
Sau khi cài đặt hoàn tất, hãy chuyển sang bước tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22353%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.
Tạo một thư mục ~/project mới và di chuyển vào đó. sau đó, tạo một môi trường ảo Python mới venv.
Sau khi môi trường ảo venv được tạo, bạn có thể kích hoạt nó bằng lệnh bên dưới.
Tại đây, dấu nhắc của bạn sẽ trở thành (venv) alice@hostname, điều đó có nghĩa là môi trường ảo Python của bạn đang hoạt động.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22523%22%20height=%22179%22%3E%3C/svg%3E
Để cài đặt JupyterLab, hãy chạy lệnh pip3 bên dưới.
Sau khi quá trình cài đặt bắt đầu, bạn sẽ nhận được kết quả như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22574%22%20height=%22550%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh bên dưới để định vị tệp nhị phân Jupyter và kiểm tra phiên bản JupterLab.
Bạn sẽ nhận được tệp nhị phân JupyterLab nằm trong môi trường ảo Python của mình. Và phiên bản JupyterLab là 4.1.1.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22504%22%20height=%22405%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh Jupyter bên dưới để tạo cấu hình máy chủ Jupyter và thiết lập xác thực mật khẩu.
Khi được yêu cầu nhập mật khẩu, hãy nhập mật khẩu mới của bạn và lặp lại.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22162%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh bên dưới để tạo JupyterLab và nhập y khi được yêu cầu ghi đè. Sau đó, hãy xác minh cấu hình JupyterLab của bạn.
Như bạn có thể thấy bên dưới, xác thực mật khẩu đã được băm và vị trí đường dẫn của JupyterLab của bạn sẽ có thể truy cập được.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22408%22%3E%3C/svg%3E
Bây giờ bạn có thể thực hiện lệnh bên dưới để mở cổng 8888 cho JupyterLab. Sau đó, khởi động JupyterLab của bạn trên IP cục bộ 192.168.5.120 và Đảm bảo thay đổi địa chỉ IP.
Sau khi khởi động, bạn sẽ nhận được kết quả tương tự như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22398%22%3E%3C/svg%3E
Bây giờ hãy mở trình duyệt web của bạn và truy cập địa chỉ IP cục bộ của bạn với cổng 8888, http://192.168.5.120:8888/. Bạn sẽ được nhắc đến trang đăng nhập JupyterLab.
Nhập mật khẩu của bạn và nhấn Đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22590%22%20height=%22203%22%3E%3C/svg%3E
Nếu thành công, bạn sẽ nhận được bảng điều khiển JupyterLab như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22495%22%3E%3C/svg%3E
Cuối cùng, quay lại terminal và nhấn Ctrl+c để kết thúc tiến trình JupyterLab. Ở bước tiếp theo, bạn sẽ thiết lập JupyterLab như một dịch vụ systemd.
Bây giờ hãy chạy lệnh nano editor sau để tạo dịch vụ jupyterlab mới /etc/systemd/system/jupyterlab.service.
Thêm cấu hình bên dưới vào tệp và đảm bảo thay đổi thông tin người dùng bằng người dùng của bạn. Điều này bao gồm đường dẫn nhị phân của chương trình Jupyter và cấu hình đã tạo.
Khi bạn hoàn tất, hãy lưu và thoát tệp.
Tiếp theo, chạy lệnh bên dưới để tải lại trình quản lý systemd và áp dụng các thay đổi systemd.
Sau đó, hãy khởi động và kích hoạt dịch vụ jupyterlab bằng lệnh sau lệnh.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22666%22%20height=%22186%22%3E%3C/svg%3E
Sau khi khởi động, hãy chạy lệnh bên dưới để xác minh jupyterlab của bạn dịch vụ.
Nếu dịch vụ jupyterlab đang chạy, bạn sẽ nhận được kết quả như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22189%22%3E%3C/svg%3E
Chạy lệnh nano editor sau để mở tập lệnh cấu hình JupyterLab ~/.jupyter/jupyter_lab_config.py.
Bỏ chú thích tham sốc.ServerApp.allow_remote_access và đổi giá trị thành True. Thao tác này sẽ cho phép truy cập từ xa cho proxy ngược trong quá trình cài đặt JupyterLab.
Khi hoàn tất, hãy lưu và thoát tệp.
Tiếp theo, chạy lệnh bên dưới để khởi động lại dịch vụ JupyterLab và xác minh mã thông báo đã tạo. mã thông báo này sẽ được sử dụng để đăng nhập vào JupyterLab dưới proxy ngược.
Ở cuối nhật ký dịch vụ, bạn có thể thấy mã thông báo JupyterLab.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22137%22%3E%3C/svg%3E
Trước tiên, hãy chạy lệnh nano editor sau để tạo cấu hình Nginx mới /etc/nginx/conf.d/jupyterlab.conf.
Chèn cấu hình bên dưới và đảm bảo thay đổi tên miền bằng cài đặt JupyterLab cục bộ của bạn.
Lưu và thoát khỏi tệp khi hoàn tất.
Bây giờ hãy chạy lệnh bên dưới để xác minh cú pháp Nginx của bạn. Nếu thành công, bạn sẽ nhận được kết quả 'syntax is ok - test is successful'.
Tiếp theo, khởi động và kích hoạt dịch vụ Nginx bằng lệnh sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22671%22%20height=%22188%22%3E%3C/svg%3E
Khi Nginx khởi động, hãy xác minh dịch vụ bằng lệnh bên dưới. Đảm bảo dịch vụ Nginx đang chạy.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22212%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để mở cổng HTTP trên hệ thống của bạn và cho phép lưu lượng truy cập vào JupyterLab của bạn cài đặt.
Với điều này, cài đặt JupyterLab của bạn sẽ có thể truy cập được thông qua proxy ngược.
cuộn xuống trang cuối cùng và dán mã thông báo JupyterLab của bạn. sau đó, nhập mật khẩu mới cho cài đặt JupyterLab của bạn, nhấn Đăng nhập và thiết lập mật khẩu mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22735%22%3E%3C/svg%3E
nếu bạn có mã thông báo chính xác, bạn sẽ nhận được bảng điều khiển JupyterLab và mật khẩu của bạn cũng sẽ được thay đổi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22494%22%3E%3C/svg%3E
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ổ ghi chép có nhiều tính năng và có nhiều tab, Notebook là công cụ biên soạn sổ ghi chép nhẹ và đơn giản, Qtconsole và nhiều phần mềm khác nữa.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn từng bước hướng dẫn cách cài đặt JupyterLab trên máy chủ Rocky Linux 9. Bạn sẽ cài đặt JupyterLab, bật xác thực JupyterLab, sau đó thiết lập Nginx làm proxy ngược.
Điều kiện tiên quyết
Để hoàn thành hướng dẫn này, hãy đảm bảo bạn có những điều sau:- Máy chủ Rocky Linux 9.
- Người dùng không phải root có quyền sudo.
- SELinux có trạng thái cho phép.
Cài đặt Dependencies
Trước khi cài đặt JupyterLab, bạn phải cài đặt các dependency trên máy chủ Rocky Linux của mình. Điều này bao gồm Pip, Node.js và các công cụ phát triển. Ngoài ra, bạn cũng sẽ cài đặt Nginx cho proxy ngược.Để bắt đầu, hãy chạy lệnh bên dưới để cài đặt các gói phát triển vào hệ thống của bạn.
Mã:
sudo dnf -y groupinstall development
Mã:
sudo dnf install -y python3-pip nodejs nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22353%22%3E%3C/svg%3E
Thiết lập Môi trường ảo Python
Trong ví dụ này, bạn sẽ cài đặt và chạy JupyterLab với người dùng bình thường. Vì vậy, hãy đảm bảo rằng bạn đã chuẩn bị người dùng của mình với các đặc quyền sudo.Đăng nhập vào người dùng của bạn bằng lệnh bên dưới.
Mã:
su - user
Mã:
mkdir -p ~/project; cd ~/project
python3 -m venv venv
Mã:
source venv/bin/activate
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22523%22%20height=%22179%22%3E%3C/svg%3E
Cài đặt JupyterLab
Bây giờ bạn đã tạo được môi trường ảo Python, bạn đã sẵn sàng cài đặt JupyterLab. Trong phần này, bạn sẽ cài đặt JupyterLab, tạo cấu hình JupyterLab, thiết lập xác thực mật khẩu và sau đó xác minh JupyterLab.Để cài đặt JupyterLab, 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=%22574%22%20height=%22550%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh bên dưới để định vị tệp nhị phân Jupyter và kiểm tra phiên bản JupterLab.
Mã:
which jupyter
jupyter --version
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22504%22%20height=%22405%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh Jupyter bên dưới để tạo cấu hình máy chủ Jupyter và thiết lập xác thực mật khẩu.
Mã:
jupyter server --generate-config
jupyter server password
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22162%22%3E%3C/svg%3E
Tiếp theo, chạy lệnh bên dưới để tạo JupyterLab và nhập y khi được yêu cầu ghi đè. Sau đó, hãy xác minh cấu hình JupyterLab của bạn.
Mã:
jupyter lab --generate-config
jupyter lab --show-config
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22408%22%3E%3C/svg%3E
Bây giờ bạn có thể thực hiện lệnh bên dưới để mở cổng 8888 cho JupyterLab. Sau đó, khởi động JupyterLab của bạn trên IP cục bộ 192.168.5.120 và Đảm bảo thay đổi địa chỉ IP.
Mã:
sudo firewall-cmd --add-port=8888/tcp
jupyter lab --ip 192.168.5.120
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22398%22%3E%3C/svg%3E
Bây giờ hãy mở trình duyệt web của bạn và truy cập địa chỉ IP cục bộ của bạn với cổng 8888, http://192.168.5.120:8888/. Bạn sẽ được nhắc đến trang đăng nhập JupyterLab.
Nhập mật khẩu của bạn và nhấn Đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22590%22%20height=%22203%22%3E%3C/svg%3E
Nếu thành công, bạn sẽ nhận được bảng điều khiển JupyterLab như sau:
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22495%22%3E%3C/svg%3E
Cuối cùng, quay lại terminal và nhấn Ctrl+c để kết thúc tiến trình JupyterLab. Ở bước tiếp theo, bạn sẽ thiết lập JupyterLab như một dịch vụ systemd.
Chạy JupyterLab như một dịch vụ Systemd
Sau khi cài đặt JupyterLab, giờ đây bạn sẽ tạo một dịch vụ systemd mới cho JupyterLab. Điều này cho phép bạn quản lý JupyterLab dễ dàng thông qua tiện ích hệ thống. Ngoài ra, bạn có thể khởi động JupyterLab khi khởi động bằng cách bật dịch vụ.Bây giờ hãy chạy lệnh nano editor sau để tạo dịch vụ jupyterlab mới /etc/systemd/system/jupyterlab.service.
Mã:
sudo nano /etc/systemd/system/jupyterlab.service
Mã:
[Unit]
Description=JupyterLab Service
[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/home/alice/project/venv/bin/jupyter lab --config=/home/alice/.jupyter/jupyter_lab_config.py
User=alice
Group=alice
WorkingDirectory=/home/alice/project
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Tiếp theo, chạy lệnh bên dưới để tải lại trình quản lý systemd và áp dụng các thay đổi systemd.
Mã:
sudo systemctl daemon-reload
Mã:
sudo systemctl start jupyterlab
sudo systemctl enable jupyterlab
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22666%22%20height=%22186%22%3E%3C/svg%3E
Sau khi khởi động, hãy chạy lệnh bên dưới để xác minh jupyterlab của bạn dịch vụ.
Mã:
sudo systemctl status jupyterlab
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22189%22%3E%3C/svg%3E
Cấu hình Truy cập từ xa cho JupyterLab
Để chạy JupyterLab đằng sau proxy ngược, bạn phải bật quyền truy cập từ xa trên cài đặt JupyterLab của mình. Bạn cần sửa đổi tập lệnh cấu hình JupyterLab mặc định và bật quyền truy cập từ xa từ đó.Chạy lệnh nano editor sau để mở tập lệnh cấu hình JupyterLab ~/.jupyter/jupyter_lab_config.py.
Mã:
nano ~/.jupyter/jupyter_lab_config.py
Mã:
c.ServerApp.allow_remote_access = True
Tiếp theo, chạy lệnh bên dưới để khởi động lại dịch vụ JupyterLab và xác minh mã thông báo đã tạo. mã thông báo này sẽ được sử dụng để đăng nhập vào JupyterLab dưới proxy ngược.
Mã:
sudo systemctl restart jupyterlab
sudo systemctl status jupyterlab
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 Reverse Proxy
Bây giờ bạn đã cho phép truy cập từ xa trong JupyterLab, bạn đã sẵn sàng cấu hình Nginx làm proxy ngược cho cài đặt JupyterLab của mình.Trước tiên, hãy chạy lệnh nano editor sau để tạo cấu hình Nginx mới /etc/nginx/conf.d/jupyterlab.conf.
Mã:
sudo nano /etc/nginx/conf.d/jupyterlab.conf
Mã:
server {
listen 80;
server_name jupyterlab.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;
}
}
Bây giờ hãy chạy lệnh bên dưới để xác minh cú pháp Nginx của bạn. Nếu thành công, bạn sẽ nhận được kết quả 'syntax is ok - test is successful'.
Mã:
sudo nginx -t
Mã:
sudo systemctl start nginx
sudo systemctl enable nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22671%22%20height=%22188%22%3E%3C/svg%3E
Khi Nginx khởi động, hãy xác minh dịch vụ bằng lệnh bên dưới. Đảm bảo dịch vụ Nginx đang chạy.
Mã:
sudo systemctl status nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22212%22%3E%3C/svg%3E
Cuối cùng, hãy chạy lệnh bên dưới để mở cổng HTTP trên hệ thống của bạn và cho phép lưu lượng truy cập vào JupyterLab của bạn cài đặt.
Mã:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
Đăng nhập vào JupyterLab
Mở một tab mới trên trình duyệt web của bạn và truy cập tên miền cài đặt JupyterLab của bạn, chẳng hạn như http://jupyterlab.howtoforge.local/. Nếu cài đặt thành công, bạn sẽ được nhắc nhở với trang đăng nhập JupyterLab.cuộn xuống trang cuối cùng và dán mã thông báo JupyterLab của bạn. sau đó, nhập mật khẩu mới cho cài đặt JupyterLab của bạn, nhấn Đăng nhập và thiết lập mật khẩu mới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22735%22%3E%3C/svg%3E
nếu bạn có mã thông báo chính xác, bạn sẽ nhận được bảng điều khiển JupyterLab và mật khẩu của bạn cũng sẽ được thay đổi.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22494%22%3E%3C/svg%3E