AWS 實戰筆記:讓 Jupyter Lab 像咖啡店一樣 24 小時營業不打烊!

更新 發佈閱讀 6 分鐘

💡 前言:程式碼為何會「罷工」?

當我們在 AWS EC2 這種雲端伺服器上,用 SSH 遠端連線執行 jupyter lab 時,是不是常遇到一個尷尬的狀況?

只要你一關閉本地電腦的連線視窗,遠端伺服器上的 Jupyter Lab 頁面就立刻打不開了,彷彿它跟著你「下班」了一樣。

這就像你在咖啡店點了一杯手沖咖啡,店員說:「好的,但你必須全程盯著我沖泡,你一轉頭,咖啡機就關機!」

🔑 專業術語解釋

這在技術上稱為「前景執行」(Foreground Execution)。當你的 SSH 連線終止時,你的程式碼就收到了「掛斷信號」(SIGHUP),然後自動關閉了。

我們的目標,就是要為 Jupyter Lab 找一個可靠的店長,讓它能不依賴我們連線,也能 24 小時自動營業,並且在伺服器(咖啡店)重開機後,也能立刻自動開門做生意。

這個「可靠的店長」,在 Linux 系統中,就是 systemd 服務管理器


🛠️ 三大步驟:建立您的 Jupyter 咖啡店服務

systemd 是 Linux 系統中用來管理服務的標準工具,它能夠讓您的程式碼以「系統服務」的方式運行。

步驟 1:建立咖啡店的「經營許可證」(jupyter.service 檔案)

我們需要建立一個 .service 服務描述檔,告訴系統該如何啟動和管理 Jupyter Lab。

  1. 連線到您的 EC2 實例。
  2. 建立服務檔案:
sudo nano /etc/systemd/system/jupyter.service
  1. 貼上以下內容,注意將 ExecStart 替換為您系統中 jupyter 的實際路徑(通常執行 which jupyter 獲得的路徑,例如 /home/ubuntu/.local/bin/jupyter):
[Unit]
Description=Jupyter Lab Service
# 確保網路連線準備好後再啟動
After=network.target

[Service]
# 指定負責經營的員工 (使用者)
User=ubuntu
# 指定營業地點 (起始目錄)
WorkingDirectory=/home/ubuntu
# 啟動咖啡店 (記得這邊修要修改路徑)
ExecStart=/home/ubuntu/.local/bin/jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root
# 設定為 VIP 服務:即使當機也要自動重啟
Restart=always

[Install]
# 設定在系統準備好後自動啟動
WantedBy=multi-user.target

🔑 小知識: 這裡的 Restart=always 就像給店長開了「無限復活」的權限,保證服務穩定性。

步驟 2:發放「營業執照」(啟用服務)

服務檔建立後,我們需要通知 systemd 這個新服務的存在,並將它加入自動啟動清單。

  1. 重新載入配置:讓系統看到新的服務檔案。
sudo systemctl daemon-reload
  1. 設定開機自動啟動:這一步是確保伺服器(咖啡店)重開機後,服務(Jupyter Lab)能立刻自動開始營業。
sudo systemctl enable jupyter.service

步驟 3:正式「開張營業」(啟動服務)

現在我們可以立即啟動服務,無需等待重開機:

sudo systemctl start jupyter.service

📈 成果驗收:確認咖啡店已正式營業

最後,使用以下指令確認您的 Jupyter Lab 服務是否已成功啟動並常駐運行:

sudo systemctl status jupyter.service

如果看到 Active: active (running) 關鍵狀態,恭喜您,您的 Jupyter Lab 已經成功從需要人盯著的「臨時攤位」,升級為 24 小時自動營業的咖啡店了!

總結服務管理常用指令

raw-image

現在,無論您關閉 SSH 連線視窗,或是將 EC2 實例停止後再啟動,您的 Jupyter Lab 都能像一個可靠的系統服務一樣,隨時等著您透過瀏覽器來連線工作!


📺 延伸閱讀:影片教學資源

如果您想了解如何在 AWS EC2 上從零開始建立 Python 與 Jupyter 環境,歡迎參考以下影片,它提供了完整的 EC2 設定、SSH 連線、以及 Jupyter Notebook 安裝教學:

  • Python on AWS for Beginners: EC2, SSH, and Jupyter Notebook Setup https://www.youtube.com/watch?v=zQGiKKGcUTE
留言
avatar-img
留言分享你的想法!
avatar-img
慵懶貓系的小墨魚:數據外的日常觀察
2會員
39內容數
小墨魚,一位白天擅長資料分析與統計建模的數據工作者,夜裡則沉浸在書本與文字裡,透過閱讀與寫作與世界對話。工作之餘,也兼職統計家教,協助學生理解複雜的統計概念與軟體操作。這裡記錄我的書評、生活觀察、科技碎念,有時也寫下關於時間與情緒的小片段。願這些文字,成為我們在日常中相遇的溫柔片刻。
2025/10/21
上次我們聊到了現代配置檔案界的「三劍客」:簡潔的 JSON、人類友善的 YAML,以及明確直觀的 TOML。它們憑藉著輕巧和易用性,幾乎稱霸了 Web 開發和雲端配置的世界。 然而,在廣闊的程式設計世界裡,還有一位「元老級的巨人」,它在企業級應用、文件傳輸,以及一些複雜的架構中,至今仍佔有不可撼動
Thumbnail
2025/10/21
上次我們聊到了現代配置檔案界的「三劍客」:簡潔的 JSON、人類友善的 YAML,以及明確直觀的 TOML。它們憑藉著輕巧和易用性,幾乎稱霸了 Web 開發和雲端配置的世界。 然而,在廣闊的程式設計世界裡,還有一位「元老級的巨人」,它在企業級應用、文件傳輸,以及一些複雜的架構中,至今仍佔有不可撼動
Thumbnail
2025/10/17
程式設計中,變數的作用域(Scope) 是每位開發者都應熟悉的重要概念。不同語言在變數的可見範圍與修改規則上各有不同,理解這些差異有助於避免意外的錯誤與除錯困難。本文將帶你比較三種常見語言——R、Python 與 JavaScript——在全域與區域變數上的行為,並展示各自修改全域變數的正確方式。
Thumbnail
2025/10/17
程式設計中,變數的作用域(Scope) 是每位開發者都應熟悉的重要概念。不同語言在變數的可見範圍與修改規則上各有不同,理解這些差異有助於避免意外的錯誤與除錯困難。本文將帶你比較三種常見語言——R、Python 與 JavaScript——在全域與區域變數上的行為,並展示各自修改全域變數的正確方式。
Thumbnail
2025/09/28
想告別 Anaconda 的臃腫與 requirements.txt 的版本衝突嗎?這篇文章將帶你認識 pyenv、Poetry、pipx,這三個業界主流的 Python 環境管理神器。透過簡單易懂的「廚房比喻」,帶你用最專業、最輕巧的方式,徹底解決開發痛點,讓你的程式碼之路從此順暢無阻。
Thumbnail
2025/09/28
想告別 Anaconda 的臃腫與 requirements.txt 的版本衝突嗎?這篇文章將帶你認識 pyenv、Poetry、pipx,這三個業界主流的 Python 環境管理神器。透過簡單易懂的「廚房比喻」,帶你用最專業、最輕巧的方式,徹底解決開發痛點,讓你的程式碼之路從此順暢無阻。
Thumbnail
看更多
你可能也想看
Thumbnail
臺灣獨立調香師品牌 Sunkronizo,Friday : Sexy Vibe 淡香精,揉合威士忌、菸草、皮革、蜂蜜與花香的多層次魅力,讓知性自信與內斂的從容態度,從視覺、嗅覺都充分表現。
Thumbnail
臺灣獨立調香師品牌 Sunkronizo,Friday : Sexy Vibe 淡香精,揉合威士忌、菸草、皮革、蜂蜜與花香的多層次魅力,讓知性自信與內斂的從容態度,從視覺、嗅覺都充分表現。
Thumbnail
使台劇得以突破過往印象中偶像劇、鄉土劇等範疇,產製更多類型,甚至紅到國外、帶動台灣觀光的最重要原因,便是「隨選串流平台」服務在近十年的蓬勃發展,台灣人愛看串流的程度或許比你我想像中都高,高到連美國電影協會(MPA),都委託Frontier Economics進行研究
Thumbnail
使台劇得以突破過往印象中偶像劇、鄉土劇等範疇,產製更多類型,甚至紅到國外、帶動台灣觀光的最重要原因,便是「隨選串流平台」服務在近十年的蓬勃發展,台灣人愛看串流的程度或許比你我想像中都高,高到連美國電影協會(MPA),都委託Frontier Economics進行研究
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
本文介紹如何使用 PyTorch 建立一個三層式反饋類神經網路模型來預測股價。文章涵蓋了資料取得 、資料預處理 (正規化)、GPU 資料轉換、模型訓練、模型預測以及結果評估等步驟。透過將模型預測結果與原始股價資料繪製比較圖表,並結合統計指標例如「95%區間」來分析模型的準確性和可靠性。
Thumbnail
本文介紹如何使用 PyTorch 建立一個三層式反饋類神經網路模型來預測股價。文章涵蓋了資料取得 、資料預處理 (正規化)、GPU 資料轉換、模型訓練、模型預測以及結果評估等步驟。透過將模型預測結果與原始股價資料繪製比較圖表,並結合統計指標例如「95%區間」來分析模型的準確性和可靠性。
Thumbnail
歡迎來到Scikit-learn教學系列的第四篇文章!在上一篇文章中,我們學習了分類模型,掌握了如何預測離散類別。這一篇將聚焦於回歸模型,這是監督學習的另一大分支,用於預測連續數值。我們將介紹回歸問題、Scikit-learn中常見的回歸演算法,並通過實作範例訓練模型、評估表現並視覺化結果。
Thumbnail
歡迎來到Scikit-learn教學系列的第四篇文章!在上一篇文章中,我們學習了分類模型,掌握了如何預測離散類別。這一篇將聚焦於回歸模型,這是監督學習的另一大分支,用於預測連續數值。我們將介紹回歸問題、Scikit-learn中常見的回歸演算法,並通過實作範例訓練模型、評估表現並視覺化結果。
Thumbnail
歡迎來到Scikit-learn教學系列的第三篇文章!在前兩篇中,我們介紹了Scikit-learn的基礎、環境設置以及資料前處理。這一篇將進入監督學習的核心,聚焦於分類模型。我們將學習分類問題的基本概念、使用Scikit-learn實現常見分類演算法,並通過實作範例與評估方法來訓練和評估模型。
Thumbnail
歡迎來到Scikit-learn教學系列的第三篇文章!在前兩篇中,我們介紹了Scikit-learn的基礎、環境設置以及資料前處理。這一篇將進入監督學習的核心,聚焦於分類模型。我們將學習分類問題的基本概念、使用Scikit-learn實現常見分類演算法,並通過實作範例與評估方法來訓練和評估模型。
Thumbnail
本文將實測,使用同一組圖像,用不同的OCR模型來辨識看成效如何,主要介紹如何從資料夾中,讀取圖片檔中的檔名來比對tesseract OCR的結果是否一致,若結果不同就記錄其錯誤位置及次數,統計最後的誤判率及誤判字的總次數。 圖片檔中的檔名由事先整理出正確結果,比對OCR模型用。
Thumbnail
本文將實測,使用同一組圖像,用不同的OCR模型來辨識看成效如何,主要介紹如何從資料夾中,讀取圖片檔中的檔名來比對tesseract OCR的結果是否一致,若結果不同就記錄其錯誤位置及次數,統計最後的誤判率及誤判字的總次數。 圖片檔中的檔名由事先整理出正確結果,比對OCR模型用。
Thumbnail
在機器學習中,超參數的設定對模型的性能至關重要。本文介紹了主要的超參數調整方法,包括網格搜索、隨機搜索、貝葉斯優化、交叉驗證以及自適應搜索算法。每種方法的優缺點詳細說明,幫助讀者選擇最合適的調整策略。透過這些技術,可以有效提高模型的泛化能力與性能,並實現更好的機器學習效果。
Thumbnail
在機器學習中,超參數的設定對模型的性能至關重要。本文介紹了主要的超參數調整方法,包括網格搜索、隨機搜索、貝葉斯優化、交叉驗證以及自適應搜索算法。每種方法的優缺點詳細說明,幫助讀者選擇最合適的調整策略。透過這些技術,可以有效提高模型的泛化能力與性能,並實現更好的機器學習效果。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News