12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- #!/bin/bash
- #### Create WP Site
- #### v3 自动从临时服务器拉取模板站shell脚本,并自动化部署
- #### Author: chenpeiqing
- #### Date: 2024-11-18
- #### Usage: sh create_wp_tempate.sh [2408210vakv9]
- #### 示例: sh create-wpsite.sh 2408210vakv9 wp063
- #模板 site code
- SITE_CODE=$1
- RDS_HOST='127.0.0.1'
- RDS_ADMIN='root'
- RDS_PWD='Initial0_123'
- #从临时服务器下载项目文件
- echo '从临时服务器下载项目文件'
- scp -i /home/ubuntu/ningxia.pem -P 9922 ec2-user@52.83.132.56:/home/ec2-user/template_temp/$SITE_CODE.tar.gz /home/ubuntu/template_temp
- echo "从临时服务器下载项目文件花费:"$((end_time - start_time))"s"
- echo '从临时服务器下载项目文件结束'
- #移动项目文件到目标目录
- mv /home/ubuntu/template_temp/$SITE_CODE.tar.gz /usr/local/wwwtemplate/
- echo "移动项目文件到目标目录花费:"$((end_time - start_time))"s"
- echo "解压模板站"
- cd /usr/local/wwwtemplate/
- tar -xzf $SITE_CODE.tar.gz
- #解压后删除压缩文件
- rm -f $SITE_CODE.tar.gz
- echo "解压模板站花费:"$((end_time - start_time))"s"
- #从临时服务器下载数据库
- echo '从临时服务器下载数据库'
- scp -i /home/ubuntu/ningxia.pem -P 9922 ec2-user@52.83.132.56:/home/ec2-user/template_temp/$SITE_CODE.sql /home/ubuntu/template_temp
- echo "从临时服务器下载数据库花费:"$((end_time - start_time))"s"
- echo '从临时服务器下载数据库结束'
- #创建数据库,赋权
- echo 'create_database_start'
- start_time=$(date +'%s')
- mysql -h$RDS_HOST -u$RDS_ADMIN -p$RDS_PWD<< EOF
- DROP DATABASE IF EXISTS $SITE_CODE;
- CREATE DATABASE $SITE_CODE CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
- GRANT ALL ON $SITE_CODE.* TO 'adweb'@'localhost';
- FLUSH PRIVILEGES;
- exit
- EOF
- end_time=$(date +'%s')
- echo "创建数据库花费:"$((end_time - start_time))"s"
- echo 'create_database_end'
- #导入数据库
- start_time=$(date +'%s')
- mysql -u$RDS_ADMIN -p$RDS_PWD $SITE_CODE < /home/ubuntu/template_temp/$SITE_CODE.sql
- end_time=$(date +'%s')
- echo "【"$SITE_CODE"】网站导入数据库完成,共计花费:"$((end_time - start_time))"s"
- #更新数据库连接配置
- echo 'update_wp-config_start'
- start_time=$(date +'%s')
- sed -i "s:FILE_NAME:$SITE_CODE:g" /usr/local/wwwtemplate/$SITE_CODE/domain.txt
- sed -i "s:'RqBQxctjakHCJVq8kmmYHQKZQGU4YMUH':'2024_RqBQxctjakHCJVq8kmmYHQKZQGU4YMUH':g" /usr/local/wwwtemplate/$SITE_CODE/wp-config.php
- end_time=$(date +'%s')
- echo "更新WP配置文件花费:"$((end_time - start_time))"s"
- echo 'update_wp-config_end'
- # 替换老域名到数据库 wp-cli
- echo 'UPDATE_WP_DOMAIN_START'
- start_time=$(date +'%s')
- cd /usr/local/wwwtemplate/$SITE_CODE
- cp /opt/adweb3/config/wp-cli.phar ./
- php ./wp-cli.phar search-replace "https://$SITE_CODE.adwebcloud.com" "https://$SITE_CODE.adweb3.topxuetang.com" --allow-root
- rm -rf wp-cli.phar
- end_time=$(date +'%s')
- echo "更新WP域名花费:"$((end_time - start_time))"s"
- echo 'UPDATE_WP_DOMAIN_END'
- # 创建nginx配置文件,并reload nginx
- #nginx
- echo 'UPDATE_NGINX_START'
- start_time=$(date +'%s')
- cp /opt/adweb3/nginx_template/wp-template.conf /usr/local/openresty/nginx/vhost/template/$SITE_CODE.conf
- sed -i "s:SITE_CODE:$SITE_CODE:g" /usr/local/openresty/nginx/vhost/template/$SITE_CODE.conf
- echo "开始重启nginx配置"
- /usr/local/openresty/nginx/sbin/nginx -s reload
- echo "nginx配置重启完成"echo "开始重启nginx配置"
- # 修改项目所有者为www-data
- chown -R www-data:www-data /usr/local/wwwtemplate/$SITE_CODE/
|