Toggle navigation
Toggle navigation
This project
Loading...
Sign in
卢阳
/
front_backend_zImage
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
ly0303521
2026-01-29 09:51:50 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1480848b91154dd03ac0d9535ec9204c73494e43
1480848b
1 parent
5f457af6
前端npm run dev -> npm run build,前端后端服务使用pm2管理,提高稳定性
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
81 additions
and
97 deletions
.env.sh
ecosystem.config.js
start_all.sh
stop_all.sh
.env.sh
View file @
1480848
# Shared Configuration
PUBLIC_IP
=
"106.120.52.146"
export
PUBLIC_IP
=
"106.120.52.146"
# Ports (External Access)
LOCAL_BACKEND_PORT
=
"9998"
PUBLIC_BACKEND_PORT
=
"39998"
LOCAL_FRONTEND_PORT
=
"9013"
PUBLIC_FRONTEND_PORT
=
"39013"
LOCAL_TURBO_PORT
=
"7002"
PUBLIC_TURBO_PORT
=
"37002"
PUBLIC_OSS_PORT
=
"34000"
PUBLIC_ZIMAGE_PORT
=
"39009"
export
LOCAL_BACKEND_PORT
=
"7000"
export
PUBLIC_BACKEND_PORT
=
"37000"
export
LOCAL_FRONTEND_PORT
=
"7001"
export
PUBLIC_FRONTEND_PORT
=
"37001"
export
LOCAL_TURBO_PORT
=
"7002"
export
PUBLIC_TURBO_PORT
=
"37002"
export
PUBLIC_OSS_PORT
=
"34000"
export
PUBLIC_ZIMAGE_PORT
=
"39009"
# Business Logic Configuration
VIDEO_GENERATION_LIMIT
=
"1"
LIKES_FOR_REWARD
=
"5"
export
VIDEO_GENERATION_LIMIT
=
"1"
export
LIKES_FOR_REWARD
=
"5"
# pm2 name set
export
BACKEND_NAME
=
"backend_beta"
export
FRONTEND_NAME
=
"frontend_beta"
...
...
ecosystem.config.js
0 → 100644
View file @
1480848
const
path
=
require
(
'path'
);
module
.
exports
=
{
apps
:
[
{
name
:
process
.
env
.
BACKEND_NAME
||
"z-image-backend"
,
script
:
"./venv/bin/uvicorn"
,
// Use LOCAL_BACKEND_PORT from environment, default to 7000
args
:
`
backend
.
main
:
app
--
host
0.0
.
0.0
--
port
$
{
process
.
env
.
LOCAL_BACKEND_PORT
||
7000
}
`
,
cwd
:
__dirname
,
interpreter
:
"none"
,
autorestart
:
true
,
watch
:
false
,
max_memory_restart
:
'1G'
},
{
name
:
process
.
env
.
FRONTEND_NAME
||
"z-image-frontend"
,
script
:
"serve"
,
env
:
{
// Use LOCAL_FRONTEND_PORT from environment, default to 7001
PM2_SERVE_PATH
:
path
.
join
(
__dirname
,
'z-image-generator/dist'
),
PM2_SERVE_PORT
:
process
.
env
.
LOCAL_FRONTEND_PORT
||
7001
,
PM2_SERVE_SPA
:
'true'
,
PM2_SERVE_HOMEPAGE
:
'/index.html'
}
}
]
};
...
...
start_all.sh
View file @
1480848
...
...
@@ -16,33 +16,18 @@ export NO_PROXY="localhost,127.0.0.1,0.0.0.0,::1"
FRONTEND_DIR
=
"
$BASE_DIR
/z-image-generator"
BACKEND_DIR
=
"
$BASE_DIR
"
CONSTANTS_FILE
=
"
$FRONTEND_DIR
/constants.ts"
CONFIG_JS_FILE
=
"
$BASE_DIR
/public/config.js"
LOGS_DIR
=
"
$BASE_DIR
/logs"
# Ensure logs directory exists
mkdir -p
"
$LOGS_DIR
"
# Function to rotate logs
rotate_log
()
{
local
log_file
=
"
$1
"
if
[
-f
"
$log_file
"
]
;
then
local
timestamp
=
$(
date +
"%Y%m%d_%H%M%S"
)
local
filename
=
$(
basename
"
$log_file
"
)
local
archived_log
=
"
$LOGS_DIR
/
${
filename
%.*
}
_
$timestamp
.log"
echo
"Rotating log:
$log_file
->
$archived_log
"
mv
"
$log_file
"
"
$archived_log
"
fi
}
echo
"=================================================="
echo
"Initializing Front-Backend Z-Image Services"
echo
"Initializing Front-Backend Z-Image Services
(PM2)
"
echo
"=================================================="
# 1. Generate Runtime Config (config.js)
echo
"Generating runtime configuration in
$CONFIG_JS_FILE
..."
# Ensure directory exists
mkdir -p
"
$(
dirname
"
$CONFIG_JS_FILE
"
)
"
cat >
"
$CONFIG_JS_FILE
"
<<EOF
...
...
@@ -57,52 +42,34 @@ window.APP_CONFIG = {
EOF
export
TURBO_DIFFUSION_LOCAL_URL
=
"http://127.0.0.1:
$LOCAL_TURBO_PORT
"
export
VITE_API_BASE_URL
=
"http://
$PUBLIC_IP
:
$PUBLIC_BACKEND_PORT
"
export
WHITELIST_PATH
=
"
/home/inspur/work_space/gen_img_video/TurboDiffusion-Space/TurboDiffusion/front_backend_zImage
/backend/whitelist.txt"
export
WHITELIST_PATH
=
"
$BASE_DIR
/backend/whitelist.txt"
echo
"Configuration generated."
# 2. Start Backend Service
echo
"--------------------------------------------------"
echo
"Starting Backend Service..."
echo
"Host: 0.0.0.0, Port:
$LOCAL_BACKEND_PORT
"
echo
"Public URL: http://
$PUBLIC_IP
:
$PUBLIC_BACKEND_PORT
"
cd
"
$BACKEND_DIR
"
||
exit
1
PID_BACKEND
=
$(
lsof -t -i:
$LOCAL_BACKEND_PORT
)
if
[
-n
"
$PID_BACKEND
"
]
;
then
echo
"Killing existing backend process on port
$LOCAL_BACKEND_PORT
(PID:
$PID_BACKEND
)..."
kill
-9
"
$PID_BACKEND
"
# 2. Check/Build Frontend
echo
"Checking frontend build..."
if
[
! -d
"
$FRONTEND_DIR
/dist"
]
;
then
echo
"Dist folder not found. Building frontend..."
cd
"
$FRONTEND_DIR
"
npm run build
cd
"
$BASE_DIR
"
fi
rotate_log
"
$BASE_DIR
/backend.log"
# Use venv uvicorn
UVICORN_BIN
=
"
$BASE_DIR
/venv/bin/uvicorn"
if
[
! -f
"
$UVICORN_BIN
"
]
;
then
echo
"Warning: venv uvicorn not found at
$UVICORN_BIN
, trying system uvicorn..."
UVICORN_BIN
=
"uvicorn"
fi
nohup
"
$UVICORN_BIN
"
backend.main:app --host 0.0.0.0 --port
"
$LOCAL_BACKEND_PORT
"
> backend.log 2>&1 &
echo
"Backend started with PID:
$!
"
# 3. Start Frontend Service
echo
"--------------------------------------------------"
echo
"Starting Frontend Service..."
echo
"Host: 0.0.0.0, Port:
$LOCAL_FRONTEND_PORT
"
echo
"Public URL: http://
$PUBLIC_IP
:
$PUBLIC_FRONTEND_PORT
"
cd
"
$FRONTEND_DIR
"
||
exit
1
PID_FRONTEND
=
$(
lsof -t -i:
$LOCAL_FRONTEND_PORT
)
if
[
-n
"
$PID_FRONTEND
"
]
;
then
echo
"Killing existing frontend process on port
$LOCAL_FRONTEND_PORT
(PID:
$PID_FRONTEND
)..."
kill
-9
"
$PID_FRONTEND
"
# 3. Start PM2
echo
"Starting services with PM2..."
cd
"
$BASE_DIR
"
if
command
-v pm2 &> /dev/null;
then
# 显式指定配置文件,并使用 --update-env 确保环境变量同步
pm2 start ecosystem.config.js --update-env
pm2 save
echo
"Services started via PM2."
pm2 list
else
echo
"Error: PM2 not found. Please install pm2 (npm install -g pm2) or use old start script."
exit
1
fi
rotate_log
"
$BASE_DIR
/frontend.log"
nohup npm run dev -- --port
"
$LOCAL_FRONTEND_PORT
"
--host 0.0.0.0 > ../frontend.log 2>&1 &
echo
"Frontend started with PID:
$!
"
echo
"=================================================="
echo
"All services initiated."
echo
"Frontend: http://
$PUBLIC_IP
:
$PUBLIC_FRONTEND_PORT
(Mapped from
$LOCAL_FRONTEND_PORT
)"
echo
"Backend: http://
$PUBLIC_IP
:
$PUBLIC_BACKEND_PORT
(Mapped from
$LOCAL_BACKEND_PORT
)"
echo
"=================================================="
...
...
stop_all.sh
View file @
1480848
#!/bin/bash
BASE_DIR
=
$(
cd
"
$(
dirname
"
$0
"
)
"
;
pwd
)
# Load shared configuration
# Load shared configuration
to get ports
if
[
-f
"
$BASE_DIR
/.env.sh"
]
;
then
source
"
$BASE_DIR
/.env.sh"
else
...
...
@@ -10,33 +9,19 @@ else
exit
1
fi
echo
"=================================================="
echo
"Stopping Front-Backend Z-Image Services"
echo
"=================================================="
# 1. Stop Backend Service
echo
"Checking Backend Service on port
$LOCAL_BACKEND_PORT
..."
PID_BACKEND
=
$(
lsof -t -i:
$LOCAL_BACKEND_PORT
)
if
[
-n
"
$PID_BACKEND
"
]
;
then
echo
"Found backend process (PID:
$PID_BACKEND
). Stopping..."
kill
-9
"
$PID_BACKEND
"
echo
"Backend service stopped."
else
echo
"No backend service found running on port
$LOCAL_BACKEND_PORT
."
fi
echo
"--------------------------------------------------"
echo
"Stopping Z-Image Services..."
# 2. Stop Frontend Service
echo
"Checking Frontend Service on port
$LOCAL_FRONTEND_PORT
..."
PID_FRONTEND
=
$(
lsof -t -i:
$LOCAL_FRONTEND_PORT
)
if
[
-n
"
$PID_FRONTEND
"
]
;
then
echo
"Found frontend process (PID:
$PID_FRONTEND
). Stopping..."
kill
-9
"
$PID_FRONTEND
"
echo
"Frontend service stopped."
if
command
-v pm2 &> /dev/null;
then
pm2 stop z-image-backend z-image-frontend
pm2 delete z-image-backend z-image-frontend
echo
"Stopped via PM2."
else
echo
"No frontend service found running on port
$LOCAL_FRONTEND_PORT
."
# Fallback to port-based kill using variables from .env.sh
pids
=
$(
lsof -t -i:
$LOCAL_BACKEND_PORT
-i:
$LOCAL_FRONTEND_PORT
)
if
[
-n
"
$pids
"
]
;
then
kill
-9
$pids
echo
"Killed PIDs on ports
$LOCAL_BACKEND_PORT
and
$LOCAL_FRONTEND_PORT
:
$pids
"
else
echo
"No processes found on ports
$LOCAL_BACKEND_PORT
/
$LOCAL_FRONTEND_PORT
"
fi
fi
echo
"=================================================="
echo
"All Z-Image services stopped."
...
...
Please
register
or
login
to post a comment