更改本地dev常见端口

This commit is contained in:
yml2213
2026-07-25 16:31:42 +08:00
parent dabf147019
commit 3461c02560
7 changed files with 66 additions and 33 deletions
+39 -11
View File
@@ -12,8 +12,12 @@ FRONTEND_NODE_MODULES="${FRONTEND_DIR}/node_modules"
FRONTEND_NODE_MODULES_LOCK="${FRONTEND_NODE_MODULES}/.package-lock.json"
MIGRATIONS_DIR="${ROOT_DIR}/backend/migrations"
MYSQL_DATABASE="${DEV_MYSQL_DATABASE:-hfb_sys}"
BACKEND_PORT="${DEV_BACKEND_PORT:-8080}"
FRONTEND_PORT="${DEV_FRONTEND_PORT:-5173}"
BACKEND_PORT="${DEV_BACKEND_PORT:-18088}"
FRONTEND_PORT="${DEV_FRONTEND_PORT:-5189}"
MYSQL_PORT="${DEV_MYSQL_PORT:-13306}"
REDIS_PORT="${DEV_REDIS_PORT:-16379}"
MINIO_API_PORT="${DEV_MINIO_API_PORT:-19090}"
MINIO_CONSOLE_PORT="${DEV_MINIO_CONSOLE_PORT:-19091}"
BACKEND_HEALTH_URL="${DEV_BACKEND_HEALTH_URL:-http://127.0.0.1:${BACKEND_PORT}/health}"
FRONTEND_HEALTH_URL="${DEV_FRONTEND_HEALTH_URL:-http://127.0.0.1:${FRONTEND_PORT}/}"
HTTP_READY_TIMEOUT="${DEV_HTTP_READY_TIMEOUT:-120}"
@@ -71,13 +75,21 @@ show_help() {
DEV_RESET_DB=1 等同于 --reset-db
DEV_MYSQL_DATABASE=hfb_sys
开发数据库名
DEV_BACKEND_PORT=8080
DEV_BACKEND_PORT=18088
后端启动端口
DEV_FRONTEND_PORT=5173
DEV_FRONTEND_PORT=5189
前端启动端口
DEV_BACKEND_HEALTH_URL=http://127.0.0.1:8080/health
DEV_MYSQL_PORT=13306
MySQL 宿主机映射端口
DEV_REDIS_PORT=16379
Redis 宿主机映射端口
DEV_MINIO_API_PORT=19090
MinIO API 宿主机映射端口
DEV_MINIO_CONSOLE_PORT=19091
MinIO 控制台宿主机映射端口
DEV_BACKEND_HEALTH_URL=http://127.0.0.1:18088/health
后端健康检查地址
DEV_FRONTEND_HEALTH_URL=http://127.0.0.1:5173/
DEV_FRONTEND_HEALTH_URL=http://127.0.0.1:5189/
前端健康检查地址
DEV_HTTP_READY_TIMEOUT=120
HTTP 服务就绪等待秒数
@@ -422,7 +434,7 @@ goose_dsn() {
}
dev_goose_dsn() {
goose_dsn "hfb:secret@tcp(127.0.0.1:3306)/${MYSQL_DATABASE}?charset=utf8mb4&parseTime=True&loc=Local"
goose_dsn "hfb:secret@tcp(127.0.0.1:${MYSQL_PORT})/${MYSQL_DATABASE}?charset=utf8mb4&parseTime=True&loc=Local"
}
goose_cmd() {
@@ -458,10 +470,14 @@ start_backend() {
cp "${BACKEND_ENV_EXAMPLE}" "${BACKEND_ENV}"
fi
log "启动后端:http://localhost:8080"
log "启动后端:http://localhost:${BACKEND_PORT}"
(
cd "${ROOT_DIR}/backend"
load_env_file "${BACKEND_ENV}"
export APP_ADDR=":${BACKEND_PORT}"
export MYSQL_DSN="hfb:secret@tcp(127.0.0.1:${MYSQL_PORT})/${MYSQL_DATABASE}?charset=utf8mb4&parseTime=True&loc=Local"
export REDIS_ADDR="127.0.0.1:${REDIS_PORT}"
export STORAGE_ENDPOINT="http://localhost:${MINIO_API_PORT}"
go run ./cmd/api
) &
BACKEND_PID="$!"
@@ -513,9 +529,12 @@ ensure_frontend_dependencies() {
start_frontend() {
ensure_frontend_dependencies
log "启动前端:http://localhost:5173"
log "启动前端:http://localhost:${FRONTEND_PORT}"
(
cd "${FRONTEND_DIR}"
export DEV_FRONTEND_PORT="${FRONTEND_PORT}"
export DEV_BACKEND_PORT="${BACKEND_PORT}"
export VITE_API_PROXY_TARGET="${VITE_API_PROXY_TARGET:-http://127.0.0.1:${BACKEND_PORT}}"
npm run dev
) &
FRONTEND_PID="$!"
@@ -558,7 +577,16 @@ main() {
exit 1
fi
ensure_port_free "${MYSQL_PORT}" "MySQL" hfb-mysql
ensure_port_free "${REDIS_PORT}" "Redis" hfb-redis
ensure_port_free "${MINIO_API_PORT}" "MinIO API" hfb-minio
ensure_port_free "${MINIO_CONSOLE_PORT}" "MinIO 控制台" hfb-minio
log "启动开发依赖:MySQL、Redis、MinIO"
export DEV_MYSQL_PORT="${MYSQL_PORT}"
export DEV_REDIS_PORT="${REDIS_PORT}"
export DEV_MINIO_API_PORT="${MINIO_API_PORT}"
export DEV_MINIO_CONSOLE_PORT="${MINIO_CONSOLE_PORT}"
docker compose -f "${COMPOSE_FILE}" up -d
wait_container_healthy hfb-mysql "MySQL"
@@ -588,8 +616,8 @@ main() {
log_success "开发环境已启动"
if [[ "${NO_FRONTEND}" == "0" ]]; then
local admin_base_path="${VITE_ADMIN_BASE_PATH:-/admin}"
log "前台:http://localhost:5173"
log "后台:http://localhost:5173${admin_base_path%/}/login"
log "前台:http://localhost:${FRONTEND_PORT}"
log "后台:http://localhost:${FRONTEND_PORT}${admin_base_path%/}/login"
fi
log "按 Ctrl+C 停止前后端;Docker 依赖会保留运行"