chore: 将验证文件改为宿主机挂载热加载
Made-with: Cursor
This commit is contained in:
@@ -32,6 +32,9 @@ services:
|
|||||||
REGISTRY_MIRROR: ${REGISTRY_MIRROR:-}
|
REGISTRY_MIRROR: ${REGISTRY_MIRROR:-}
|
||||||
image: yh_web-web:latest
|
image: yh_web-web:latest
|
||||||
container_name: yh_web
|
container_name: yh_web
|
||||||
|
volumes:
|
||||||
|
# 仅挂载验证文件目录,便于热更新;前台静态站点仍由镜像内 dist 提供
|
||||||
|
- ./verify-root:/verify-root:ro
|
||||||
networks:
|
networks:
|
||||||
- yh_net
|
- yh_net
|
||||||
# 不暴露宿主机端口,仅由 nginx 容器反代
|
# 不暴露宿主机端口,仅由 nginx 容器反代
|
||||||
|
|||||||
@@ -56,6 +56,8 @@ sudo systemctl reload nginx
|
|||||||
|
|
||||||
**/api/health 或 /admin/ 返回 404 时**:在服务器执行 `ss -tlnp | grep 443`,看 443 是宿主机 nginx 还是 docker。若是宿主机 nginx,要么停用该站点配置让 compose 独占 443(方式 A),要么改为方式 B(compose 用 8443,宿主机反代到 8443)。
|
**/api/health 或 /admin/ 返回 404 时**:在服务器执行 `ss -tlnp | grep 443`,看 443 是宿主机 nginx 还是 docker。若是宿主机 nginx,要么停用该站点配置让 compose 独占 443(方式 A),要么改为方式 B(compose 用 8443,宿主机反代到 8443)。
|
||||||
|
|
||||||
|
**验证文件热加载**:如果只需要把某些根目录验证文件上线,放到项目根目录的 `verify-root/` 里即可,`web` 容器会把它挂载为 `/verify-root`,并直接从网站根路径提供这些 `.txt/.html/.xml` 文件。修改文件后不需要重建 `web` 镜像,只要文件保存到宿主机上就会立刻生效。
|
||||||
|
|
||||||
## 4. 新服务器首次安装 Nginx
|
## 4. 新服务器首次安装 Nginx
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -11,6 +11,20 @@ RUN npm run build
|
|||||||
ARG REGISTRY_MIRROR=docker.m.daocloud.io/library/
|
ARG REGISTRY_MIRROR=docker.m.daocloud.io/library/
|
||||||
FROM ${REGISTRY_MIRROR}nginx:alpine
|
FROM ${REGISTRY_MIRROR}nginx:alpine
|
||||||
COPY --from=builder /app/dist /usr/share/nginx/html
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
||||||
RUN echo 'server { listen 80; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ /index.html; } }' > /etc/nginx/conf.d/default.conf
|
RUN printf '%s\n' \
|
||||||
|
'server {' \
|
||||||
|
' listen 80;' \
|
||||||
|
' root /usr/share/nginx/html;' \
|
||||||
|
' index index.html;' \
|
||||||
|
'' \
|
||||||
|
' # 根路径下的验证文件走热加载目录,不需要重建镜像' \
|
||||||
|
' location ~ ^/([A-Za-z0-9._-]+\.(txt|html|xml))$ {' \
|
||||||
|
' alias /verify-root/$1;' \
|
||||||
|
' }' \
|
||||||
|
'' \
|
||||||
|
' location / {' \
|
||||||
|
' try_files $uri $uri/ /index.html;' \
|
||||||
|
' }' \
|
||||||
|
'}' > /etc/nginx/conf.d/default.conf
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|||||||
Reference in New Issue
Block a user