卷柏小站

← 返回文章列表

一个服务器跑多个网站

发布时间:2026-05-26 阅读 · 30

在 MSV 结构中,多个网站部署在一个服务器方案:

/home/ubuntu/
├── A/                              # 项目 A
│   ├── app/
│   ├── deploy/
│   │   └── docker/
│   │       ├── Dockerfile
│   │       ├── docker-compose.yml   # 只有 web,端口 8001
│   │       ├── entrypoint.sh
│   │       └── gunicorn.py
│   └── .../
├── B/                              # 项目 B
│   ├── app/
│   ├── deploy/
│   │   └── docker/
│   │       ├── Dockerfile
│   │       ├── docker-compose.yml   # 只有 web,端口 8002
│   │       ├── entrypoint.sh
│   │       └── gunicorn.py
│   └── .../
└── nginx/                          # 宿主机 Nginx(不装在 Docker 里)
    ├── nginx.conf                  # 主配置,include conf.d/*.conf
    └── conf.d/
        ├── A.conf                  # server_name A-domain.com → proxy_pass :8001
        ├── B.conf                  # server_name B-domain.com → proxy_pass :8002
        └── ssl/
            ├── A_bundle.crt
            ├── A.key
            ├── B_bundle.crt
            └── B.key

主配置代码:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    client_max_body_size 50M;

    limit_req_zone $binary_remote_addr zone=req_per_ip:10m rate=15r/s;
    limit_req_zone $server_name zone=req_per_server:10m rate=200r/s;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    include /home/ubuntu/nginx/conf.d/*.conf;
}