更新 CI/CD 配置
- 正式环境目录改为 /www/wwwroot/kb-web - 测试环境目录 /www/wwwroot/kb-web-test - 添加测试环境配置脚本 - 添加 config.test.php 模板
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
// 测试环境配置文件
|
||||
// 复制此文件为 config.php 并修改数据库配置
|
||||
|
||||
// 数据库配置
|
||||
define('DB_HOST', 'localhost');
|
||||
define('DB_NAME', 'kb-web-test'); // 测试环境数据库
|
||||
define('DB_USER', 'kb-admin');
|
||||
define('DB_PASS', 'your_password'); // 修改为实际密码
|
||||
|
||||
// Session 配置
|
||||
session_start();
|
||||
|
||||
// 数据库连接
|
||||
function getDB() {
|
||||
static $pdo = null;
|
||||
if ($pdo === null) {
|
||||
try {
|
||||
$pdo = new PDO(
|
||||
"mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . ";charset=utf8mb4",
|
||||
DB_USER,
|
||||
DB_PASS,
|
||||
[
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
|
||||
]
|
||||
);
|
||||
} catch (PDOException $e) {
|
||||
die("数据库连接失败: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
return $pdo;
|
||||
}
|
||||
|
||||
// 检查登录状态
|
||||
function checkLogin() {
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
header('Location: index.php');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取当前用户信息
|
||||
function getCurrentUser() {
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
return null;
|
||||
}
|
||||
$db = getDB();
|
||||
$stmt = $db->prepare("SELECT * FROM users WHERE id = ?");
|
||||
$stmt->execute([$_SESSION['user_id']]);
|
||||
return $stmt->fetch();
|
||||
}
|
||||
|
||||
// 获取用户文档目录
|
||||
function getUserDocDir($username) {
|
||||
return __DIR__ . '/' . $username;
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
#!/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 "=========================================="
|
||||
Reference in New Issue
Block a user