mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-08-31 21:25:33 +08:00
与 docker-dev(commit 5797885)保持一致的修复方案: - run.sh 改为 SCRIPT_DIR 自动检测脚本所在目录 - Dockerfile ENTRYPOINT/chmod 改为完整路径 /var/www/html/source/stack/<mode>/source/docker/run.sh - 基础配置(nginx.conf/zz-phprun.ini/zz-phpfpm.conf)复制到各模式目录 - ln -s 改为 ln -sf(防止容器重启时 File exists) docker-dev-sync 额外保留 sync.sh 调用逻辑(init + watch), 仅路径改为 \/sync.sh
41 lines
1.6 KiB
Bash
41 lines
1.6 KiB
Bash
#!/bin/bash
|
||
|
||
# 自动检测脚本所在目录(B-route 兼容:bind mount 下路径为 source/stack/<mode>/source/docker/)
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
||
# 将代码中的nginx复制到nginx配置文件中
|
||
cp "$SCRIPT_DIR/nginx.conf" /etc/nginx/sites-available/default
|
||
ln -sf /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
|
||
|
||
# 将代码中的php配置文件复制到php配置文件中
|
||
cp "$SCRIPT_DIR/zz-phprun.ini" /usr/local/etc/php/conf.d
|
||
cp "$SCRIPT_DIR/zz-phpfpm.conf" /usr/local/php-fpm.d
|
||
|
||
|
||
# 设置目录权限,确保挂载卷后依然有效
|
||
mkdir -p /var/www/html/runtime && chmod -R 777 /var/www/html/runtime
|
||
mkdir -p /var/www/html/public/storage && chmod -R 777 /var/www/html/public/storage
|
||
mkdir -p /var/www/html/public/build && chmod -R 777 /var/www/html/public/build
|
||
mkdir -p /var/www/html/storage && chmod -R 777 /var/www/html/storage
|
||
mkdir -p /var/www/html/memoryspace && chown -R www-data:www-data /var/www/html/memoryspace
|
||
|
||
|
||
# 运行redis
|
||
# nohup redis-server --requirepass "" &
|
||
|
||
# 输出参数
|
||
echo "参数为:$@"
|
||
|
||
# TODO:增加自动批量运行并阻塞的脚本,比如:group default ,会调用auto.sh的default的部分,最终阻塞,auth.sh的default部分,可能会运行一系列的命令,比如清空缓存,踢人下线,重置密码
|
||
|
||
if [ "$1" = "server" ] || [ "$1" = "" ]; then
|
||
# 运行定时任务 TODO:以指定用户运行
|
||
su - www-data -c "nohup php /var/www/html/think timer --local --quiet &"
|
||
# 运行nginx
|
||
service nginx start
|
||
# 运行php-fpm
|
||
php-fpm
|
||
else
|
||
php "/var/www/html/""$@"
|
||
fi
|