refactor: 迁移根目录 docker/ 到 source/docker/,更新所有路径引用

- 将 docker/{nginx.conf,run.sh,zz-phprun.ini,zz-phpfpm.conf} 移动到 source/docker/
- 更新所有 Dockerfile 中 /var/www/html/docker/ -> /var/www/html/source/docker/
- 更新 stack.json managed_files 路径前缀
- 重组 stack 模式目录结构 docker/ -> source/docker/
- 更新 source/README.md 目录描述
- 更新 AdminUpdateServiceBase.php 可选文件前缀
This commit is contained in:
augushong
2026-05-12 23:13:47 +08:00
parent 81706debbb
commit 218810a7db
17 changed files with 28 additions and 29 deletions

View File

@@ -9,7 +9,7 @@
- `source/assets/fonts/`
- `source/docs/`:项目资料(说明文档、流程文档、交付文档等)
- `source/attachments/`:附件与素材(非代码交付物、原始文件等)
- `source/docker/`附属服务/可选服务编排与开发辅助(与根目录 `docker/` 区分
- `source/docker/`本项目 Docker 运行所需的配置文件nginx、PHP、PHP-FPM、启动脚本
- `source/clients/`:各端前端/客户端工程
- `source/clients/uniapp/`uni-appVue3 + Vite + JavaScript
- `source/clients/vue-screen/`:预留“大屏端”目录

View File

@@ -1 +0,0 @@

30
source/docker/nginx.conf Normal file
View File

@@ -0,0 +1,30 @@
server {
listen 8000 default_server;
listen [::]:8000 default_server;
root /var/www/html/public;
index index.php index.html index.htm;
server_name _;
# 上传大小不限制
client_max_body_size 8192m;
# 运行时长不限制
fastcgi_read_timeout 60000;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}

View File

@@ -1,12 +1,12 @@
#!/bin/bash
# 将代码中的nginx复制到nginx配置文件中
cp /var/www/html/docker/nginx.conf /etc/nginx/sites-available/default
cp /var/www/html/source/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
cp /var/www/html/source/docker/zz-phprun.ini /usr/local/etc/php/conf.d
cp /var/www/html/source/docker/zz-phpfpm.conf /usr/local/etc/php-fpm.d
# 设置目录权限,确保挂载卷后依然有效

View File

@@ -0,0 +1,8 @@
[www]
; 进程数不限制
pm = dynamic
pm.max_children = 150
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 30

View File

@@ -0,0 +1,26 @@
; 内存不限制
memory_limit = -1
; 上传文件大小不限制
upload_max_filesize = -1
; 运行时长不限制
max_execution_time = 0
; POST大小不限制
post_max_size = -1
; 设置时区
date.timezone = "Asia/Shanghai"
[Zend Opcache]
opcache.enable = 1
opcache.memory_consumption=128
opcache.interned_strings_buffer=32
opcache.max_accelerated_files=80000
opcache.revalidate_freq=3
opcache.fast_shutdown=1
opcache.enable_cli=1
opcache.jit_buffer_size=128m
opcache.jit=1205

View File

@@ -25,9 +25,9 @@ VOLUME /var/www/html/storage
# 暴露 Nginx 端口
EXPOSE 8000
RUN chmod +x /var/www/html/docker/run.sh
RUN chmod +x /var/www/html/source/docker/run.sh
# 启动 Nginx PHP 然后阻塞
ENTRYPOINT ["/bin/bash", "/var/www/html/docker/run.sh"]
ENTRYPOINT ["/bin/bash", "/var/www/html/source/docker/run.sh"]
CMD ["server"]

View File

@@ -25,10 +25,10 @@ VOLUME /var/www/html/storage
# 暴露 Nginx 端口
EXPOSE 8000
RUN chmod +x /var/www/html/docker/run.sh
RUN chmod +x /var/www/html/source/docker/run.sh
# 启动 Nginx PHP 然后阻塞
ENTRYPOINT ["/bin/bash", "/var/www/html/docker/run.sh"]
ENTRYPOINT ["/bin/bash", "/var/www/html/source/docker/run.sh"]
CMD ["server"]

View File

@@ -0,0 +1,37 @@
#!/bin/bash
# 将代码中的nginx复制到nginx配置文件中
cp /var/www/html/source/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/source/docker/zz-phprun.ini /usr/local/etc/php/conf.d
cp /var/www/html/source/docker/zz-phpfpm.conf /usr/local/etc/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 --quit &"
# 运行nginx
service nginx start
# 运行php-fpm
php-fpm
else
php "/var/www/html/""$@"
fi

View File

@@ -63,8 +63,8 @@ RUN composer dump-autoload
# RUN install-php-extensions @composer
# Dev mode PHP config (overrides zz-phprun.ini)
COPY docker/zzz-dev.ini /usr/local/etc/php/conf.d/zzz-dev.ini
COPY docker/zzz-xdebug.ini /usr/local/etc/php/conf.d/zzz-xdebug.ini
COPY source/docker/zzz-dev.ini /usr/local/etc/php/conf.d/zzz-dev.ini
COPY source/docker/zzz-xdebug.ini /usr/local/etc/php/conf.d/zzz-xdebug.ini
VOLUME /var/www/html/runtime
VOLUME /var/www/html/public/storage
@@ -77,9 +77,9 @@ VOLUME /var/www/html/storage
# Expose Nginx port
EXPOSE 8000
RUN chmod +x /var/www/html/docker/run.sh
RUN chmod +x /var/www/html/source/docker/run.sh
# Start Nginx and PHP-FPM
ENTRYPOINT ["/bin/bash", "/var/www/html/docker/run.sh"]
ENTRYPOINT ["/bin/bash", "/var/www/html/source/docker/run.sh"]
CMD ["server"]

View File

@@ -1,16 +1,16 @@
#!/bin/bash
# 将代码中的nginx复制到nginx配置文件中
cp /var/www/html/docker/nginx.conf /etc/nginx/sites-available/default
cp /var/www/html/source/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
cp /var/www/html/source/docker/zz-phprun.ini /usr/local/etc/php/conf.d
cp /var/www/html/source/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
cp /var/www/html/source/docker/zzz-dev.ini /usr/local/etc/php/conf.d
cp /var/www/html/source/docker/zzz-xdebug.ini /usr/local/etc/php/conf.d
# 设置目录权限,确保挂载卷后依然有效

View File

@@ -72,10 +72,10 @@ VOLUME /var/www/html/storage
# 暴露 Nginx 端口
EXPOSE 8000
RUN chmod +x /var/www/html/docker/run.sh
RUN chmod +x /var/www/html/source/docker/run.sh
# 启动 Nginx PHP 然后阻塞
ENTRYPOINT ["/bin/bash", "/var/www/html/docker/run.sh"]
ENTRYPOINT ["/bin/bash", "/var/www/html/source/docker/run.sh"]
CMD ["server"]

View File

@@ -6,9 +6,9 @@
".gitea/workflows/build-and-deploy.yml",
".docker-dev.env",
".dockerignore",
"docker/zzz-dev.ini",
"docker/zzz-xdebug.ini",
"docker/run.sh"
"source/docker/zzz-dev.ini",
"source/docker/zzz-xdebug.ini",
"source/docker/run.sh"
],
"modes": {
"default": {