#!/bin/bash # 门店检测工作台 —— 服务器 / Linux 启动脚本(非交互,适合 systemd、nohup、docker) # # 用法: # ./start.sh # 默认端口 8787,开放局域网 # ./start.sh 9000 # 指定端口 # ./start.sh --local # 只允许本机访问(放在 nginx 后面时用) # PORT=9000 ./start.sh # 也可以用环境变量 # # 建议放在 systemd 里跑,见 deploy/门店检测工作台.service set -e cd "$(dirname "$0")" PORT="${PORT:-8787}" HOST_ARG=() for a in "$@"; do case "$a" in --local) HOST_ARG+=("$a") ;; --*) ;; *) PORT="$a" ;; esac done # 找 Python 3.7+ PY="" for c in python3 python; do if command -v "$c" >/dev/null 2>&1 && \ "$c" -c 'import sys; sys.exit(0 if sys.version_info >= (3,7) else 1)' 2>/dev/null; then PY="$c"; break fi done if [ -z "$PY" ]; then echo "✗ 没找到 Python 3.7+,请先安装:" >&2 echo " Ubuntu/Debian: sudo apt update && sudo apt install -y python3" >&2 echo " CentOS/RHEL: sudo yum install -y python3" >&2 exit 1 fi echo "Python: $($PY --version 2>&1) ($(command -v $PY))" echo "端口: $PORT" exec "$PY" -u backend/server.py --port "$PORT" "${HOST_ARG[@]}"