Jupyter Notebook là một nền tảng điện toán tương tác miễn phí, mã nguồn mở và dựa trên web cho phép người dùng chỉnh sửa và chạy tài liệu thông qua trình duyệt web. Nó dựa trên Python và cho phép bạn tạo và chia sẻ tài liệu có chứa mã trực tiếp, phương trình và hình ảnh trực quan trên web. Mục đích của nó là phát triển phần mềm mã nguồn mở, tiêu chuẩn mở và dịch vụ cho điện toán tương tác trên nhiều ngôn ngữ lập trình.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt phần mềm Jupyter Notebook trên Ubuntu 22.04.
Sau khi tất cả các gói được cập nhật, bạn có thể tiến hành bước tiếp theo:
Sau khi tất cả các gói được cài đặt, bạn có thể xác minh phiên bản Python bằng lệnh sau:
Bạn sẽ thấy thông báo sau đầu ra:
Tiếp theo, cập nhật PIP lên phiên bản mới nhất bằng lệnh sau:
Tiếp theo, xác minh phiên bản PIP bằng lệnh sau lệnh:
Bạn sẽ thấy kết quả sau:
Tiếp theo, cài đặt gói môi trường ảo Python với lệnh sau lệnh:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, điều hướng đến thư mục dự án và tạo một môi trường ảo Python bằng lệnh sau lệnh:
Tiếp theo, kích hoạt môi trường ảo bằng lệnh sau:
Tiếp theo, cài đặt Jupyter Notebook với lệnh sau lệnh:
Sau khi Jupyter Notebook được cài đặt, hãy chạy Jupyter Notebook bằng lệnh sau:
Nếu mọi thứ ổn, bạn sẽ nhận được thông báo sau đầu ra:
Nhấn CTRL+C để dừng Jupyter Notebook.
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn sẽ thấy đầu ra sau:
Tiếp theo, đặt mật khẩu Jupyter Notebook bằng lệnh sau lệnh:
Đặt mật khẩu như hiển thị bên dưới:
Tiếp theo, hủy kích hoạt khỏi môi trường ảo Python bằng lệnh sau lệnh:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Thêm các mã sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng lệnh sau lệnh:
Tiếp theo, khởi động Jupyter Notebook và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Để xác minh trạng thái của Jupyter Notebook, hãy chạy lệnh sau lệnh:
Bạn sẽ thấy kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Trước tiên, hãy cài đặt gói máy chủ web Nginx bằng lệnh sau:
Sau khi Nginx được cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx với nội dung sau lệnh:
Thêm các cấu hình sau:
Lưu và đóng tệp, sau đó xác minh Nginx xem có lỗi cú pháp nào không bằng cách sử dụng lệnh sau lệnh:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng thay đổi:
Bạn cũng có thể kiểm tra trạng thái Nginx bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Tiếp theo, thêm người dùng gốc vào nhóm www-data bằng lệnh sau:
Tiếp theo, chỉnh sửa tệp cấu hình Jupyter Notebook và bật điều khiển từ xa truy cập:
Thay đổi dòng sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ Jupyter Notebook để áp dụng thay đổi:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Cung cấp mật khẩu của bạn và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Jupyter Notebook trên màn hình sau:
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt phần mềm Jupyter Notebook trên Ubuntu 22.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.04.
- Một tên miền hợp lệ được trỏ đến bằng IP máy chủ của bạn.
- Một mật khẩu gốc được cấu hình trên máy chủ.
Bắt đầu
Trước tiên, bạn nên cập nhật và nâng cấp tất cả các gói phần mềm của mình lên phiên bản mới nhất. Bạn có thể cập nhật tất cả các gói bằng cách chạy lệnh sau:
Mã:
apt update -y
apt upgrade -y
Cài đặt Python
Trước tiên, bạn sẽ cần cài đặt Python và các gói phụ thuộc khác trên máy chủ của mình. Bạn có thể cài đặt tất cả chúng bằng cách chạy lệnh sau:
Mã:
apt-get install python3 python3-pip -y
Mã:
python3 --version
Mã:
Python 3.10.6
Mã:
pip3 install --upgrade pip
Mã:
pip3 --version
Mã:
pip 22.2.2 from /usr/local/lib/python3.10/dist-packages/pip (python 3.10)
Mã:
pip3 install virtualenv
Cài đặt Jupyter Notebook
Trước tiên, hãy tạo một thư mục để lưu Notebook của bạn bằng lệnh sau:
Mã:
mkdir ~/project
Mã:
cd ~/project
virtualenv notebookenv
Mã:
source notebookenv/bin/activate
Mã:
pip install jupyter
Mã:
jupyter notebook --allow-root
Mã:
[I 14:23:26.729 NotebookApp] Serving notebooks from local directory: /root/project
[I 14:23:26.729 NotebookApp] Jupyter Notebook 6.4.12 is running at:
[I 14:23:26.729 NotebookApp] http://localhost:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625
[I 14:23:26.729 NotebookApp] or http://127.0.0.1:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625
[I 14:23:26.730 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 14:23:26.734 NotebookApp] No web browser found: could not locate runnable browser.
[C 14:23:26.734 NotebookApp] To access the notebook, open this file in a browser: file:///root/.local/share/jupyter/runtime/nbserver-3214-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625 or http://127.0.0.1:8888/?token=5dbdfdbf2e2dc72ccdaaa7361db8c55877ecfbc45676e625
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tạo mật khẩu Jupyter Notebook
Bạn nên bảo mật Jupyter Notebook bằng mật khẩu. Trước tiên, tạo tệp cấu hình Jupyter Notebook bằng lệnh sau:
Mã:
jupyter notebook --generate-config
Mã:
Writing default config to: /root/.jupyter/jupyter_notebook_config.py
Mã:
jupyter notebook password
Mã:
Enter password:
Verify password:
[NotebookPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_notebook_config.json
Mã:
deactivate
Tạo tệp dịch vụ Systemd cho Jupyter Notebook
Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd để quản lý Jupyter Notebook. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/systemd/system/jupyter.service
Mã:
[Unit]
Description=Jupyter Notebook
[Service]
Type=simple
PIDFile=/run/jupyter.pid
ExecStart=/root/project/notebookenv/bin/jupyter-notebook --config=/root/.jupyter/jupyter_notebook_config.py --allow-root
User=root
Group=root
WorkingDirectory=/root/project/notebookenv
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start jupyter
systemctl enable jupyter
Mã:
systemctl status jupyter
Mã:
? jupyter.service - Jupyter Notebook Loaded: loaded (/etc/systemd/system/jupyter.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2022-10-11 14:27:01 UTC; 4s ago Main PID: 3649 (jupyter-noteboo) Tasks: 1 (limit: 2242) Memory: 53.4M CPU: 980ms CGroup: /system.slice/jupyter.service ??3649 /root/project/notebookenv/bin/python /root/project/notebookenv/bin/jupyter-notebook --config=/root/.jupyter/jupyter_noteb>
Oct 11 14:27:01 ubuntu2204 systemd[1]: Started Jupyter Notebook.
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.288 NotebookApp] Serving notebooks from local directory: /root/project/noteboo>
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.289 NotebookApp] Jupyter Notebook 6.4.12 is running at:
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.289 NotebookApp] http://localhost:8888/
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [I 14:27:02.290 NotebookApp] Use Control-C to stop this server and shut down all kernels (>
Oct 11 14:27:02 ubuntu2204 jupyter-notebook[3649]: [W 14:27:02.293 NotebookApp] No web browser found: could not locate runnable browser.
Cấu hình Nginx làm Proxy ngược cho Jupyter Notebook
Lúc này, Jupyter Notebook đã được khởi động và chạy trên cổng 8888. Bây giờ, bạn sẽ cần cấu hình Nginx làm proxy ngược để truy cập Jupyter Notebook qua cổng 80.Trước tiên, hãy cài đặt gói máy chủ web Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Mã:
nano /etc/nginx/conf.d/jupyter.conf
Mã:
upstream notebook {
server 127.0.0.1:8888;
}
server {
listen 80;
server_name jupyter.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / { proxy_pass http://localhost: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; }
}
Mã:
nginx -t
Mã:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-10-11 14:28:53 UTC; 54s ago Docs: man:nginx(8) Process: 4193 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 4194 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 4195 (nginx) Tasks: 2 (limit: 2242) Memory: 2.6M CPU: 40ms CGroup: /system.slice/nginx.service ??4195 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??4196 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
Oct 11 14:28:53 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server...
Oct 11 14:28:53 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
Mã:
usermod -g www-data root
Mã:
nano /root/.jupyter/jupyter_notebook_config.py
Mã:
c.NotebookApp.allow_remote_access = True
Mã:
systemctl restart jupyter
Truy cập Jupyter Notebook
Bây giờ, hãy mở trình duyệt web của bạn và truy cập Jupyter Notebook bằng URL Bạn sẽ được yêu cầu cung cấp mật khẩu Jupyter Notebook của mình trên màn hình sau:Cung cấp mật khẩu của bạn và nhấp vào nút Đăng nhập. Bạn sẽ thấy bảng điều khiển Jupyter Notebook trên màn hình sau: