diff --git a/backend/docker-compose.dev.yml b/backend/docker-compose.dev.yml index becacce..7ad5ccb 100644 --- a/backend/docker-compose.dev.yml +++ b/backend/docker-compose.dev.yml @@ -1,5 +1,9 @@ version: '3.8' +networks: + backend-network: + driver: bridge + services: # Nginx 网关 nginx: @@ -10,6 +14,8 @@ services: - ./nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - gateway + networks: + - backend-network # 网关服务 gateway: @@ -24,6 +30,8 @@ services: depends_on: - user-svc - redis + networks: + - backend-network # 用户服务 user-svc: @@ -37,6 +45,8 @@ services: command: air -c .air.toml depends_on: - postgres + networks: + - backend-network # 数据库 postgres: @@ -50,6 +60,8 @@ services: volumes: - postgres-data:/var/lib/postgresql/data - ./services/user-svc/migrations:/docker-entrypoint-initdb.d + networks: + - backend-network # Redis redis: @@ -58,6 +70,8 @@ services: - "6379:6379" volumes: - redis-data:/var/lib/redis/data + networks: + - backend-network volumes: postgres-data: diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml index 5c97652..a4ac789 100644 --- a/backend/docker-compose.yml +++ b/backend/docker-compose.yml @@ -1,5 +1,9 @@ version: '3.8' +networks: + backend-network: + driver: bridge + services: # Nginx 网关 nginx: @@ -10,6 +14,8 @@ services: - ./nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - gateway + networks: + - backend-network # 网关服务 gateway: @@ -21,6 +27,8 @@ services: depends_on: - user-svc - redis + networks: + - backend-network # 用户服务 user-svc: @@ -31,6 +39,8 @@ services: - "9000:9000" depends_on: - postgres + networks: + - backend-network # 数据库 postgres: @@ -44,6 +54,8 @@ services: volumes: - postgres-data:/var/lib/postgresql/data - ./services/user-svc/migrations:/docker-entrypoint-initdb.d + networks: + - backend-network # Redis redis: @@ -52,6 +64,8 @@ services: - "6379:6379" volumes: - redis-data:/var/lib/redis/data + networks: + - backend-network # Proto 编译服务 proto-builder: @@ -60,6 +74,8 @@ services: dockerfile: Dockerfile volumes: - ./shared/proto:/proto + networks: + - backend-network volumes: postgres-data: diff --git a/backend/nginx.conf b/backend/nginx.conf new file mode 100644 index 0000000..64313b0 --- /dev/null +++ b/backend/nginx.conf @@ -0,0 +1,45 @@ +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + error_log /var/log/nginx/error.log error; + + sendfile on; + keepalive_timeout 65; + + upstream gateway { + server gateway:8000; + } + + server { + listen 80; + server_name localhost; + + location / { + proxy_pass http://gateway; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } + + location /ws { + proxy_pass http://gateway; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } + } +}