#!/bin/bash # 将代码中的nginx复制到nginx配置文件中 cp /var/www/html/docker/nginx.conf /etc/nginx/sites-available/default ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default # 将代码中的php配置文件复制到php配置文件中 cp /var/www/html/docker/zz-phprun.ini /usr/local/etc/php/conf.d cp /var/www/html/docker/zz-phpfpm.conf /usr/local/etc/php-fpm.d # 开发模式:覆盖生产PHP配置(Opcache、错误显示、Xdebug) cp /var/www/html/docker/zzz-dev.ini /usr/local/etc/php/conf.d cp /var/www/html/docker/zzz-xdebug.ini /usr/local/etc/php/conf.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 --quit &" # 运行nginx service nginx start # 运行php-fpm php-fpm else php "/var/www/html/""$@" fi