/ Cloud Platform

【 Cloud 】Jupyter 安裝於 AWS Ubuntu VM

內容

  • 學習目標
  • 前置準備作業
  • 安裝 Jupyter NotebookAWS Ubuntu VM
  • 開機後自動啟動 Jupyter

學習目標

  • AWS Ubuntu VM 中安裝 Jupyter Notebook

前置準備作業


設定 AWS Ubuntu VM 連接埠

Step 1. 登入到 AWS


Step 2. 選取所建立的虛擬機器

  • 點選上方的 服務 後,再點選 EC2

    -----2019-12-06---10.20.50

  • 點選 Run Instances

    -----2019-12-06---11.35.13

  • 點選所要設定的 VM

    • 查看下方的 Security groups 中的值

    -----2019-12-12---5.34.55

  • 設定遠端桌面所需使用的埠

    • 點選左邊 Security Groups ➙ 點選所要設定的 VM ➙ 點選下方的 Inbound ➙ 點選 Edit

    -----2019-12-12---5.37.50

    • 設定 8888 埠號
      • 點選 Add Rule

        -----2019-12-06---1.07.13

      • Port Range 設為 8888

      • Source 設為 0.0.0.0/0

      • 點選 Save

        -----2019-12-12---3.13.56


安裝 Jupyter Notebook

Step 1. 登入到 AWS VM


Step 2. 安裝 pip

  • 套件更新

    • 在輸入以下指令進行安裝
    sudo apt-get update
    
  • 安裝 pip

    • 在輸入以下指令進行安裝
    sudo apt-get -y install python3-pip
    
  • 確認 pip 版本

    pip3 -V
    

Step 3. 安裝 Jupyter

  • 在輸入以下指令進行安裝
    pip3 install "ipython[notebook]==7.9.0"
    

Step 4. 設定 Jupyter Notebook 登入密碼

  • 輸入以下指令進行設定
    • 進入到 python CLI

      python3
      

      -----2019-12-12---5.45.34

    • 引用套件

      from notebook.auth import passwd
      

      -----2019-12-12---5.54.22

    • 設定密碼

      • 記下 sha 那一串文字,
      passwd()
      

      -----2019-12-12---5.55.10

    • 離開 python CLI

      exit()
      

Step 5. Jupyter Config 設定

  • 輸入以下指令進行設定
    • 產生 Config

      jupyter notebook --generate-config
      

      -----2019-12-12---5.56.17

    • 修改設定

      vi .jupyter/jupyter_notebook_config.py
      
      • 修改 c.NotebookApp.ip 為 '0.0.0.0' 並移除最前面的 #

        • 在控制模式 (按 ESC 鍵) 輸入 /c.NotebookApp.ip 進行字串搜尋

          -----2019-12-12---5.57.13

          • 修改前

            -----2019-12-12---5.57.52

          • 修改後

            • 在輸入模式 (按 i 鍵) 以進行資料修改

            -----2019-12-12---5.59.22

      • 修改 c.NotebookApp.open_browserFalse 並移除最前面的 #

        • 在控制模式 (按 ESC 鍵) 輸入 /c.NotebookApp.open_browser 進行字串搜尋

          -----2019-12-12---6.00.37

          • 修改前

            -----2019-12-12---6.01.05

          • 修改後

            • 在輸入模式 (按 i 鍵) 以進行資料修改

            -----2019-12-12---6.02.18

      • 修改 c.NotebookApp.passwordStep 6 中的設定密碼 sha 字串 並移除最前面的 #

        • 在控制模式 (按 ESC 鍵) 輸入 /c.NotebookApp.password 進行字串搜尋

          -----2019-12-12---6.03.04

          • 修改前

            -----2019-12-12---6.03.34

          • 修改後

            • 在輸入模式 (按 i 鍵) 以進行資料修改

            -----2019-12-12---6.04.55

      • 修改 c.NotebookApp.port8888 並移除最前面的 #

        • 在控制模式 (按 ESC 鍵) 輸入 /c.NotebookApp.port 進行字串搜尋

          -----2019-12-12---6.05.44

          • 修改前

            -----2019-12-12---6.06.32

          • 修改後

            • 在輸入模式 (按 i 鍵) 以進行資料修改

            -----2019-12-12---6.07.28

      • 存檔離開

        • 進入到控制模式

          按 esc 鍵
          
        • 存檔並離開

          :wq!
          

          -----2019-12-12---6.08.01


Step 6. 取得 VM 登入 IP

  • 點選左方的 Instances 後,於右邊查看 IPv4 Public IP 欄位即可得知 VM 的 IP

    -----2019-12-12---6.11.57


Step 7. 啟動 Jupyter

  • 輸入以下指令進行啟動

    jupyter notebook
    

    -----2019-12-12---6.08.43

  • 開啟瀏覽器輸入下方網址

    • http://虛擬機器的公用 IP 位址:8888

    • 輸入 Step 3 中的設定密碼

      -----2019-12-12---6.16.09

    • 登入成功畫面

      -----2019-12-02---3.18.08

    • 開啟程式編輯頁面

      • NewPython 3

        -----2019-12-12---6.16.54

      • 開啟成功畫面

        -----2019-12-12---6.17.31


開啟後自動啟動 Jupyter

  • 輸入以下指令進行設定

    sudo vim /etc/rc.local
    
  • 開啟 rc.local 檔案後的畫面

    -----2019-12-12---6.18.41

  • 進入編輯模式

    輸入 i
    

    -----2019-12-12---6.19.09

  • 輸入啟動指令

    su ubuntu -c "/home/ubuntu/.local/bin/jupyter-notebook --config=/home/ubuntu/.jupyter/jupyter_notebook_config.py --no-browser --notebook-dir=/home/ubuntu" &
    

    -----2019-12-12---6.23.01

  • 存檔離開

    • 進入到控制模式

      按 esc 鍵
      
    • 存檔並離開

      :wq!
      

      -----2019-12-12---6.24.33

    • 查看設定狀態

      sudo systemctl status rc-local.service
      

      -----2019-12-12---6.28.45


GitHub
List of blogs
Archer

Archer

Having being a software engineer. Experience with Python, JavaScript, Node.js, Objective-C, Micro:bit, Raspberry Pi, AWS, Azure, IoT. ❆ [email protected] https://oranwind.org/author/archer/

Read More