36 lines
724 B
Nginx Configuration File
36 lines
724 B
Nginx Configuration File
# Docker部署 - Nginx动态路由模式
|
|
# 所有项目通过同一个端口访问,通过路径区分
|
|
|
|
FROM node:18-alpine
|
|
|
|
# 安装Nginx
|
|
RUN apk add --no-cache nginx
|
|
|
|
WORKDIR /app
|
|
|
|
# 复制package文件并安装依赖
|
|
COPY package*.json ./
|
|
RUN npm install --production
|
|
|
|
# 复制后端代码
|
|
COPY server ./server
|
|
|
|
# 复制前端构建产物
|
|
COPY client/dist ./client/dist
|
|
|
|
# 创建必要的目录
|
|
RUN mkdir -p /app/data /app/projects /app/nginx/sites-enabled /run/nginx
|
|
|
|
# 复制Nginx配置模板
|
|
COPY server/templates ./server/templates
|
|
|
|
# 复制启动脚本
|
|
COPY deploy/start-nginx.sh /start-nginx.sh
|
|
RUN chmod +x /start-nginx.sh
|
|
|
|
# 只暴露一个端口
|
|
EXPOSE 80
|
|
|
|
# 启动Nginx和Node.js服务
|
|
CMD ["/start-nginx.sh"]
|