|
@@ -0,0 +1,110 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+#### Create V3 WP template site
|
|
|
+#### v3 自动基于临时站创建对应的模板站
|
|
|
+#### Author: chenpeiqing
|
|
|
+#### Date: 2025-03-13
|
|
|
+#### Usage: sh create_v3_wp_template.sh [临时站code] [模板站code]
|
|
|
+#### 示例: sh create_v3_wp_template.sh 2408210vakv9 2408210vakv9tp
|
|
|
+
|
|
|
+TEMP_CODE=$1
|
|
|
+TP_CODE=$2
|
|
|
+
|
|
|
+TEMPLATE_DOMAIN='v3-site.adwebcloud.com'
|
|
|
+RDS_HOST='127.0.0.1'
|
|
|
+RDS_ADMIN='root'
|
|
|
+RDS_PWD='Initial0_123'
|
|
|
+
|
|
|
+OLD_DOMAIN_NAME=$TEMP_CODE.$TEMPLATE_DOMAIN
|
|
|
+DOMAIN_NAME=$TP_CODE.$TEMPLATE_DOMAIN
|
|
|
+
|
|
|
+
|
|
|
+#创建站点目录
|
|
|
+mkdir /usr/local/wwwtemplate/$TP_CODE
|
|
|
+#打包模板站包
|
|
|
+cd /usr/local/wwwroot/$TEMP_CODE
|
|
|
+tar -czf $TEMP_CODE.tar.gz *
|
|
|
+sudo mv $TEMP_CODE.tar.gz /usr/local/wwwtemplate/$TP_CODE
|
|
|
+
|
|
|
+#下载模板站数据库
|
|
|
+mysqldump --user=$RDS_ADMIN --password=$RDS_PWD --host=localhost --port=3306 --no-create-db --default-character-set=utf8 $TEMP_CODE > /opt/adweb3/temp_package/$TEMP_CODE.sql
|
|
|
+
|
|
|
+echo '解压模板站开始'
|
|
|
+cd /usr/local/wwwtemplate/$TP_CODE
|
|
|
+tar -xzf $TEMP_CODE.tar.gz
|
|
|
+echo "解压模板站结束,共计花费:"$((end_time - start_time))"s"
|
|
|
+
|
|
|
+#更新数据库连接配置
|
|
|
+echo "修改站点【"$TP_CODE"】wp-config.php配置"
|
|
|
+start_time=$(date +'%s')
|
|
|
+#sed -i "s:root:adweb:g" /usr/local/wwwtemplate/$TP_CODE/wp-config.php
|
|
|
+#sed -i "s:Initial0_123:2024_RqBQxctjakHCJVq8kmmYHQKZQGU4YMUH:g" /usr/local/wwwtemplate/$TP_CODE/wp-config.php
|
|
|
+sed -i "s:$TEMP_CODE:$TP_CODE:g" /usr/local/wwwtemplate/$TP_CODE/wp-config.php
|
|
|
+sed -i "s:FILE_NAME:$TP_CODE:g" /usr/local/wwwtemplate/$TP_CODE/domain.txt
|
|
|
+sed -i "s:'$TEMP_CODE':'$TP_CODE':g" /usr/local/wwwtemplate/$TP_CODE/wp-config.php
|
|
|
+end_time=$(date +'%s')
|
|
|
+echo "修改站点【"$TP_CODE"】wp-config.php配置修改完成,共计花费:"$((end_time - start_time))"s"
|
|
|
+
|
|
|
+#创建数据库,赋权
|
|
|
+echo '创建数据库开始:'
|
|
|
+start_time=$(date +'%s')
|
|
|
+mysql -h$RDS_HOST -u$RDS_ADMIN -p$RDS_PWD<< EOF
|
|
|
+ DROP DATABASE IF EXISTS $TP_CODE;
|
|
|
+ CREATE DATABASE $TP_CODE CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
+ GRANT ALL ON $TP_CODE.* TO 'adweb'@'localhost';
|
|
|
+ FLUSH PRIVILEGES;
|
|
|
+ exit
|
|
|
+EOF
|
|
|
+end_time=$(date +'%s')
|
|
|
+echo "创建数据库花费:"$((end_time - start_time))"s"
|
|
|
+
|
|
|
+#导入数据库
|
|
|
+echo '导入数据库开始:'
|
|
|
+start_time=$(date +'%s')
|
|
|
+mysql -u$RDS_ADMIN -p$RDS_PWD $TP_CODE < /opt/adweb3/temp_package/$TP_CODE.sql
|
|
|
+end_time=$(date +'%s')
|
|
|
+echo "【"$FILE_NAME"】网站导入数据库完成,共计花费:"$((end_time - start_time))"s"
|
|
|
+
|
|
|
+#nginx
|
|
|
+echo '创建并更新新站点的nginx配置开始:'
|
|
|
+start_time=$(date +'%s')
|
|
|
+
|
|
|
+cp /opt/adweb3/nginx_template/wp-template.conf /usr/local/openresty/nginx/vhost/template/$TP_CODE.conf
|
|
|
+
|
|
|
+sed -i "s:SITE_CODE:$FILE_NAME:g" /usr/local/openresty/nginx/vhost/template/$TP_CODE.conf
|
|
|
+
|
|
|
+echo "开始重启nginx配置"
|
|
|
+/usr/local/openresty/nginx/sbin/nginx -s reload
|
|
|
+echo "nginx配置重启完成"echo "开始重启nginx配置"
|
|
|
+
|
|
|
+#更新新站点WP数据库中的域名并清空缓存
|
|
|
+echo '更新新站点WP数据库中的域名并清空缓存开始:'
|
|
|
+start_time=$(date +'%s')
|
|
|
+cd /usr/local/template/$TP_CODE
|
|
|
+cp /opt/adweb3/config/wp-cli.phar /usr/local/template/$TP_CODE
|
|
|
+
|
|
|
+php ./wp-cli.phar search-replace "$OLD_DOMAIN_NAME" "$DOMAIN_NAME" --allow-root
|
|
|
+php ./wp-cli.phar search-replace "http://$DOMAIN_NAME" "https://$DOMAIN_NAME" --allow-root
|
|
|
+php ./wp-cli.phar cache flush --allow-root
|
|
|
+rm -rf wp-cli.phar
|
|
|
+end_time=$(date +'%s')
|
|
|
+echo "更新新站点WP数据库中的域名并清空缓存花费:"$((end_time - start_time))"s"
|
|
|
+
|
|
|
+
|
|
|
+echo "清空老站点缓存开始:"
|
|
|
+start_time=$(date +'%s')
|
|
|
+cp /opt/adweb3/config/wp-cli.phar /usr/local/wwwroot/$TEMP_CODE
|
|
|
+cd /usr/local/wwwroot/$TEMP_CODE
|
|
|
+php ./wp-cli.phar cache flush --allow-root
|
|
|
+rm -rf wp-cli.phar
|
|
|
+end_time=$(date +'%s')
|
|
|
+echo "清空模板站点缓存花费:"$((end_time - start_time))"s"
|
|
|
+
|
|
|
+
|
|
|
+end_time=$(date +'%s')
|
|
|
+echo "本次拉取临时站点共计花费: "$((end_time - first_time))"s"
|
|
|
+
|
|
|
+
|
|
|
+#更新目录权限组
|
|
|
+cd /usr/local/template
|
|
|
+chown -R www-data:www-data $TP_CODE
|