mywpsite / scripts /start.sh
OpenCode Deployer
update
b367190
#!/bin/bash
echo "启动 Hugging Face Space WordPress..."
# 设置初始数据持久化
/scripts/setup-data.sh
# 配置安全设置
/scripts/setup-security.sh
# 配置日志轮转
cp /config/logrotate/wordpress /etc/logrotate.d/wordpress
# 启动 MySQL
echo "启动 MySQL..."
mysqld_safe --datadir=/data/mysql --user=mysql &
MYSQL_PID=$!
# 等待 MySQL 启动
echo "等待 MySQL 启动..."
for i in {1..30}; do
if mysqladmin ping --silent 2>/dev/null; then
echo "MySQL 已启动"
break
fi
if [ $i -eq 30 ]; then
echo "MySQL 启动超时"
exit 1
fi
sleep 2
done
# 初始化 WordPress 数据库
echo "初始化 WordPress 数据库..."
mysql -u root -e "
CREATE DATABASE IF NOT EXISTS wordpress;
CREATE USER IF NOT EXISTS 'wordpress'@'localhost' IDENTIFIED BY 'wordpress_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
FLUSH PRIVILEGES;
" 2>/dev/null || true
# 复制 WordPress 配置文件
if [ ! -f "/var/www/html/wp-config.php" ]; then
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
fi
# 配置 Apache 监听端口 7860
sed -i 's/Listen 80/Listen 7860/' /etc/apache2/ports.conf 2>/dev/null || true
# 启动 Apache
echo "启动 Apache (端口 7860)..."
apache2ctl -D FOREGROUND &
APACHE_PID=$!
# 等待 Apache 启动
sleep 5
# 运行存储监控
/scripts/monitor-storage.sh
# 健康检查
echo "执行健康检查..."
if curl -f http://localhost:7860/ >/dev/null 2>&1; then
echo "WordPress 服务已启动并可通过端口 7860 访问"
else
echo "警告: WordPress 服务可能未正常启动"
fi
echo "所有服务已启动"
echo "WordPress 管理员入口: http://localhost:7860/wp-admin/"
echo "数据持久化目录: /data"
# 保持容器运行
wait $APACHE_PID $MYSQL_PID