mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 19:35:50 +00:00
perf: 优化数据库外部访问方式
This commit is contained in:
parent
34305a1285
commit
9251ccbb12
@ -88,7 +88,7 @@ cd dootask
|
|||||||
./cmd redis "your command" # To run a redis command
|
./cmd redis "your command" # To run a redis command
|
||||||
./cmd composer "your command" # To run a composer command
|
./cmd composer "your command" # To run a composer command
|
||||||
./cmd supervisorctl "your command" # To run a supervisorctl command
|
./cmd supervisorctl "your command" # To run a supervisorctl command
|
||||||
./cmd mysql "your command" # To run a mysql command (backup: Backup database, recovery: Restore database)
|
./cmd mysql "your command" # To run a mysql command (backup: Backup database, recovery: Restore database, open: Open database external port access, close: Close database external port access)
|
||||||
```
|
```
|
||||||
|
|
||||||
### SSL configuration
|
### SSL configuration
|
||||||
|
|||||||
@ -89,7 +89,7 @@ cd dootask
|
|||||||
./cmd redis "your command" # 运行 redis 命令
|
./cmd redis "your command" # 运行 redis 命令
|
||||||
./cmd composer "your command" # 运行 composer 命令
|
./cmd composer "your command" # 运行 composer 命令
|
||||||
./cmd supervisorctl "your command" # 运行 supervisorctl 命令
|
./cmd supervisorctl "your command" # 运行 supervisorctl 命令
|
||||||
./cmd mysql "your command" # 运行 mysql 命令 (backup: 备份数据库,recovery: 还原数据库)
|
./cmd mysql "your command" # 运行 mysql 命令 (backup: 备份数据库,recovery: 还原数据库,open: 开启数据库外部端口访问,close: 关闭数据库外部端口访问)
|
||||||
```
|
```
|
||||||
|
|
||||||
### SSL 配置
|
### SSL 配置
|
||||||
|
|||||||
57
cmd
57
cmd
@ -227,6 +227,55 @@ run_mysql() {
|
|||||||
run_exec mariadb "gunzip < /$inputname | mysql -u$username -p$password $database"
|
run_exec mariadb "gunzip < /$inputname | mysql -u$username -p$password $database"
|
||||||
run_exec php "php artisan migrate"
|
run_exec php "php artisan migrate"
|
||||||
judge "还原数据库"
|
judge "还原数据库"
|
||||||
|
elif [ "$1" = "open" ]; then
|
||||||
|
container_name=`docker_name mariadb`
|
||||||
|
if [ -z "$container_name" ]; then
|
||||||
|
error "没有找到 mariadb 容器!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
mkdir -p ${cur_path}/docker/mysql/tmp
|
||||||
|
cat > ${cur_path}/docker/mysql/tmp/${container_name}.conf <<EOF
|
||||||
|
user nginx;
|
||||||
|
worker_processes auto;
|
||||||
|
error_log /var/log/nginx/error.log notice;
|
||||||
|
pid /var/run/nginx.pid;
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
stream {
|
||||||
|
upstream mysql {
|
||||||
|
server ${container_name}:3306 max_fails=1 fail_timeout=30s;
|
||||||
|
}
|
||||||
|
server {
|
||||||
|
listen 3306;
|
||||||
|
proxy_pass mysql;
|
||||||
|
proxy_connect_timeout 5s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
read -rp "请输入代理端口(3300-65500):" inputport
|
||||||
|
if [ $inputport -lt 3300 ] || [ $inputport -gt 65500 ]; then
|
||||||
|
error "端口范围不正确!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
run_mysql rm-port
|
||||||
|
docker run --name ${container_name}-port \
|
||||||
|
--network dootask-networks-$(env_get APP_ID) \
|
||||||
|
-p ${inputport}:3306 \
|
||||||
|
-v ${cur_path}/docker/mysql/tmp/${container_name}.conf:/etc/nginx/nginx.conf \
|
||||||
|
-d nginx:alpine > /dev/null
|
||||||
|
judge "开启代理"
|
||||||
|
elif [ "$1" = "close" ]; then
|
||||||
|
container_name=`docker_name mariadb`
|
||||||
|
if [ -z "$container_name" ]; then
|
||||||
|
error "没有找到 mariadb 容器!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
docker stop ${container_name}-port > /dev/null
|
||||||
|
docker rm ${container_name}-port > /dev/null
|
||||||
|
judge "关闭代理"
|
||||||
|
elif [ "$1" = "rm-port" ]; then
|
||||||
|
docker rm -f $(docker_name mariadb)-port &> /dev/null
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -421,6 +470,7 @@ if [ $# -gt 0 ]; then
|
|||||||
exit 2
|
exit 2
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
run_mysql rm-port
|
||||||
$COMPOSE down
|
$COMPOSE down
|
||||||
env_set APP_DEBUG "false"
|
env_set APP_DEBUG "false"
|
||||||
rm -rf "./docker/mysql/data"
|
rm -rf "./docker/mysql/data"
|
||||||
@ -518,6 +568,10 @@ if [ $# -gt 0 ]; then
|
|||||||
run_mysql backup
|
run_mysql backup
|
||||||
elif [[ "$1" == "recovery" ]] || [[ "$1" == "r" ]]; then
|
elif [[ "$1" == "recovery" ]] || [[ "$1" == "r" ]]; then
|
||||||
run_mysql recovery
|
run_mysql recovery
|
||||||
|
elif [[ "$1" == "agent" ]] || [[ "$1" == "open" ]]; then
|
||||||
|
run_mysql open
|
||||||
|
elif [[ "$1" == "unagent" ]] || [[ "$1" == "close" ]]; then
|
||||||
|
run_mysql close
|
||||||
else
|
else
|
||||||
e="mysql $@" && run_exec mariadb "$e"
|
e="mysql $@" && run_exec mariadb "$e"
|
||||||
fi
|
fi
|
||||||
@ -545,6 +599,9 @@ if [ $# -gt 0 ]; then
|
|||||||
$COMPOSE stop "$@"
|
$COMPOSE stop "$@"
|
||||||
$COMPOSE start "$@"
|
$COMPOSE start "$@"
|
||||||
else
|
else
|
||||||
|
if [[ "$1" == "down" ]]; then
|
||||||
|
run_mysql rm-port
|
||||||
|
fi
|
||||||
$COMPOSE "$@"
|
$COMPOSE "$@"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
|||||||
@ -63,8 +63,6 @@ services:
|
|||||||
mariadb:
|
mariadb:
|
||||||
container_name: "dootask-mariadb-${APP_ID}"
|
container_name: "dootask-mariadb-${APP_ID}"
|
||||||
image: "mariadb:10.7.3"
|
image: "mariadb:10.7.3"
|
||||||
ports:
|
|
||||||
- "${DB_OPEN_PORT:-}:3306"
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./docker/mysql/repassword.sh:/etc/mysql/repassword.sh
|
- ./docker/mysql/repassword.sh:/etc/mysql/repassword.sh
|
||||||
- ./docker/mysql/conf.d:/etc/mysql/conf.d
|
- ./docker/mysql/conf.d:/etc/mysql/conf.d
|
||||||
|
|||||||
1
docker/mysql/.gitignore
vendored
1
docker/mysql/.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
data
|
data
|
||||||
backup
|
backup
|
||||||
bak
|
bak
|
||||||
|
tmp
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user