This repository has been archived on 2026-03-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kb-web/deploy/setup-test-env.sh
T
starmen1265 058edd62e0 更新 CI/CD 配置
- 正式环境目录改为 /www/wwwroot/kb-web
- 测试环境目录 /www/wwwroot/kb-web-test
- 添加测试环境配置脚本
- 添加 config.test.php 模板
2026-02-15 09:46:23 +08:00

100 lines
2.6 KiB
Bash

#!/bin/bash
# 测试环境配置脚本
# 在服务器上执行: bash setup-test-env.sh
set -e
echo "=========================================="
echo " kb-web 测试环境配置"
echo "=========================================="
# 配置
TEST_DIR="/www/wwwroot/kb-web-test"
TEST_DB="kb_web_test"
DB_USER="kb-admin"
DB_PASS="" # 在这里填入数据库密码
# 1. 创建测试目录
echo "[1/5] 创建测试目录..."
mkdir -p $TEST_DIR
mkdir -p /www/backup/kb-web
# 2. 创建测试数据库
echo "[2/5] 创建测试数据库..."
if [ -n "$DB_PASS" ]; then
mysql -u$DB_USER -p$DB_PASS -e "CREATE DATABASE IF NOT EXISTS $TEST_DB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" 2>/dev/null || echo "数据库可能已存在或密码未设置"
# 复制正式数据库表结构
mysql -u$DB_USER -p$DB_PASS -e "USE $TEST_DB; SOURCE /www/wwwroot/kb-web/kb-admin.sql;" 2>/dev/null || echo "跳过数据导入"
fi
# 3. 克隆代码
echo "[3/5] 克隆代码..."
if [ -d "$TEST_DIR/.git" ]; then
cd $TEST_DIR
git fetch origin
git reset --hard origin/main
else
git clone ssh://sc-gitea@192.168.1.22:2223/starmen1265/kb-web.git $TEST_DIR
cd $TEST_DIR
fi
# 4. 配置测试环境
echo "[4/5] 配置测试环境..."
# 复制测试配置
if [ -f "$TEST_DIR/config.test.php" ]; then
cp $TEST_DIR/config.test.php $TEST_DIR/config.php
echo "已复制测试配置文件"
fi
# 创建测试用户目录
mkdir -p $TEST_DIR/test_user
# 设置权限
chown -R www:www $TEST_DIR 2>/dev/null || true
# 5. 配置 Nginx
echo "[5/5] 配置 Nginx..."
cat > /www/server/panel/vhost/nginx/kb-web-test.conf << 'EOF'
server {
listen 8080;
server_name _;
root /www/wwwroot/kb-web-test;
index index.php index.html;
access_log /www/wwwlogs/kb-web-test.log;
error_log /www/wwwlogs/kb-web-test.error.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi-81.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\. {
deny all;
}
}
EOF
# 重载 Nginx
nginx -t && nginx -s reload
echo ""
echo "=========================================="
echo " ✅ 测试环境配置完成!"
echo "=========================================="
echo ""
echo "测试环境: http://micecola.top:8080"
echo "正式环境: http://micecola.top (端口 80)"
echo ""
echo "下一步:"
echo "1. 修改 $TEST_DIR/config.php 中的数据库密码"
echo "2. 访问 http://micecola.top:8080 测试"
echo "=========================================="