Linux 部署指引手冊 適用: Ubuntu / Debian / CentOS / Rocky

股票投資系統 Linux 部署與開機自啟指南

涵蓋正確 Python 版本安裝、啟動腳本位置與 Systemd 常駐守護

返回前台看盤系統
推薦 Python 版本
Python 3.10 ~ 3.12 (推薦 3.11 或 3.12)

完整支援 FastAPI, Uvicorn, Pandas, yfinance 與 SQLite3 模組。

專屬 Linux 啟動檔案位置
./start_service.sh

專案根目錄下已為您建立好的一鍵 Shell 啟動腳本與 Systemd 設定檔。

1 在 Linux 上安裝正確的 Python 版本

請依據您 Linux 機器的發行版本選擇對應指令:

方案 A:Ubuntu / Debian 系列 (推薦)
# 1. 更新系統套件源
sudo apt update

# 2. 安裝 Python 3, pip 與虛擬環境模組 (venv)
sudo apt install -y python3 python3-pip python3-venv

# 3. 檢查版本 (需 >= 3.10)
python3 --version
方案 B:CentOS / RHEL / Rocky Linux 9 系列
# 1. 安裝 Python 3.11 與 pip
sudo dnf install -y python3.11 python3.11-pip

# 2. 檢查版本
python3.11 --version

2 建立 Python 獨立虛擬環境與安裝相依套件

將本專案代碼複製到 Linux 主機的目錄中(例如 /opt/stock_investment 或您的 home 目錄):

建立環境與安裝指令
# 1. 進入專案目錄
cd /path/to/stock_investment

# 2. 建立名為 venv 的隔離虛擬環境
python3 -m venv venv

# 3. 啟用虛擬環境
source venv/bin/activate

# 4. 安裝專案所有相依套件 (由 requirements.txt 提供)
pip install -r requirements.txt

3 Linux 啟動腳本位置與開機運行方式

專案內已包含專為 Linux 撰寫的啟動腳本 start_service.sh,它具備以下自動化特色:

執行啟動指令
# 賦予腳本可執行權限 (初次執行需要)
chmod +x start_service.sh

# 啟動伺服器
./start_service.sh
啟動成功後,終端機會顯示例如 區網訪問: http://192.168.x.x:8000,此時同區網內的任何電腦即可開啟瀏覽!

4 進階:設定 Linux 開機自動啟動 (Systemd Service)

生產環境推薦

若希望 Linux 主機開機時自動在背景啟動服務,並且在當機時自動重新啟動,請使用專案內提供的 stock_service.service:

Systemd 註冊與啟用步驟
# 1. 複製服務檔至系統服務目錄
sudo cp stock_service.service /etc/systemd/system/

# 2. 修改設定檔中的 WorkingDirectory 路徑 (替換為實際目錄)
sudo nano /etc/systemd/system/stock_service.service

# 3. 重新載入 Systemd 設定
sudo systemctl daemon-reload

# 4. 設定開機自動啟動
sudo systemctl enable stock_service

# 5. 立即啟動服務
sudo systemctl start stock_service

# 6. 查看運行狀態與日誌
sudo systemctl status stock_service

Linux 防火牆設定(確保區網能連線)

若 Linux 主機有開啟防火牆,請記得放行 Port 8000:

Ubuntu (UFW)
sudo ufw allow 8000/tcp
CentOS/Rocky (Firewalld)
sudo firewall-cmd --add-port=8000/tcp --permanent && sudo firewall-cmd --reload