1. Deployment
Marketing Tool
  • Module mặc định
    • TỔNG QUAN
    • Bussiness | Logic
      • XÁC THỰC & HỒ SƠ NGƯỜI DÙNG
      • THỐNG KÊ & NHẬT KÝ
      • CÔNG CỤ TÌM KIẾM
      • TRÍCH XUẤT URL
      • KIỂM TOÁN CHUYỂN HƯỚNG
      • THEO DÕI WEBSITE
      • KIỂM TRA TRANG WEB
      • TÌM KIẾM VĂN BẢN NEO
      • WHITELIST
    • Project
      • Hướng dẫn sử dụng
        • User Guide
        • CÔNG CỤ TÌM KIẾM
        • TÌM KIẾM VĂN BẢN NEO
        • TRÍCH XUẤT URL
        • SO SÁNH NỘI DUNG
        • CHUYỂN HƯỚNG URL
        • KIỂM TRA TRANG WEB
        • KIỂM TRA NỘI DUNG
        • KIỂM TRA ĐỊNH KÌ
        • THEO DÕI WEBSITE
        • TẠO TRANG WEB MKT
      • API Interface
        • API Interface
      • Architecture
        • Code Structure
        • System Architecture
        • Database Schema
      • Deployment
        • Staging
        • Production
  1. Deployment

Staging

Tài Liệu Triển Khai Dự Án Marketing — Laravel trên Docker#

Docker  Laravel  Nginx

Triển Khai Dự Án Marketing stagging với Docker

🔥 Tổng Quan#

Tài liệu này mô tả quy trình build và triển khai dự án Marketing chạy trên Docker trong môi trường stagging. Dự án Marketing bao gồm một dịch vụ:
Dịch VụCông NghệRuntimeMục Đích
ToolLaravel (PHP)PHP-FPM + NginxCông cụ tự động hoá marketing

Hạ Tầng Chính#

Thành PhầnDịch Vụ AWSMục Đích
Container ImagesAWS ECRRegistry Docker image riêng tư
Cơ sở dữ liệuAWS RDSMySQL cho Laravel
CacheElastiCacheRedis cho session, queue, cache driver

🛠️ Dịch Vụ Tool#

Tech Stack#

Framework: Laravel (PHP)
Xây dựng: Multi-stage — Composer install → npm install → npm build
Runtime: PHP-FPM + Nginx (nhiều container)
ECR: tools/marketing-tool-stg
Source: Git submodule tại tool/build/source/

Cấu Trúc Dự Án#

Marketing/tool/
├─ build/
│  ├─ Dockerfile-base.stagging                # Base image: FPM + Nginx + CLI
│  ├─ Dockerfile-stagging                     # stagging: multi-stage Laravel build
│  ├─ source/                                   # ⚡ Git submodule — Laravel source
│  │  ├─ composer.json / package.json
│  │  ├─ artisan
│  │  └─ ...
│  ├─ conf/
│  │  ├─ nginx/template/default.conf.template
│  │  └─ supervisor/marketing-tool.conf
│  └─ data/php/
│     ├─ php.ini
│     └─ php-fpm.conf
├─ database/
└─ docker-compose.yml.stagging

Xây dựng Pipeline#

┌──────────────────────────────────────────────────────────────────────────┐
│                        MULTI-STAGE BUILD PIPELINE                        │
│                                                                          │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐                   │
│  │ GIAI ĐOẠN 1 │    │ GIAI ĐOẠN 2 │    │ GIAI ĐOẠN 3 │                   │
│  │   vendor    │───▶│  node_base  │───▶│    build    │                   │
│  │ • composer  │    │ • npm       │    │ • npm run   │                   │
│  │   install   │    │   install   │    │   build     │                   │
│  └─────────────┘    └─────────────┘    └──────┬──────┘                   │
│                    ┌──────────────────────┬────┴───────────────┐         │
│                    ▼                      ▼                    ▼         │
│             ┌─────────────┐       ┌─────────────┐      ┌─────────────┐   │
│             │    cli      │       │ fpm_server  │      │ web_server  │   │
│             │ • Artisan   │       │ • PHP-FPM   │      │ • Nginx     │   │
│             │ • Queues    │       │ • Supervisor│      │ • Static    │   │
│             └─────────────┘       └─────────────┘      └─────────────┘   │
└──────────────────────────────────────────────────────────────────────────┘

Cấu Hình Laravel (build/source/.env)#

Xây dựng & Triển Khai#


🛡️ Các Thực Hành Bảo Mật#

1.
.env không bao giờ nhúng vào image — mount read-only khi runtime
2.
Container non-root — chạy dưới user không đặc quyền (UID: 1200)
3.
Supervisor quản lý — PHP-FPM với auto-restart

📚 Tài Liệu Liên Quan#

Tài liệu Docker
Triển khai Laravel
Hướng dẫn AWS ECR
Ngày cập nhật 2026-03-25 09:22:22
Trước
Database Schema
Tiếp theo
Production
Built with