docker如何部署多个php网站
要在 Docker 中部署多个网站,你可以通过配置多个 Nginx 虚拟主机(server blocks)来实现。每个虚拟主机可以指向不同的 PHP-FPM 容器,并具有自己的网站配置。以下是一个修改后的 Docker Compose 文件的示例,支持多个网站:
- 修改 Docker Compose 文件
修改 docker-compose.yml
文件:
1 | version: '3' |
上述配置中,我们添加了 php-site1
和 php-site2
两个 PHP-FPM 服务,每个服务对应一个网站。同时,我们创建了两个目录 site1
和 site2
分别用于存放两个网站的 PHP 代码。
- 修改 Nginx 配置
在 nginx-conf
目录中创建两个 Nginx 配置文件,例如 site1.conf
和 site2.conf
:
site1.conf
:
1 | server { |
site2.conf
:
1 | server { |
这两个配置文件分别定义了两个虚拟主机,分别对应 site1.local
和 site2.local
,并将请求传递给对应的 PHP-FPM 容器。
- 构建和运行 Docker 容器
运行以下命令启动 Docker 容器:
1 | docker-compose up -d |
这将启动两个 PHP-FPM 容器和一个 Nginx 容器,用于同时支持两个网站。确保你在本地 hosts 文件中添加了以下条目:
1 | 127.0.0.1 site1.local |
现在,你可以通过访问 http://site1.local
和 http://site2.local
来访问两个不同的网站。根据实际需求,你可以继续添加更多的 PHP-FPM 服务和对应的 Nginx 配置,以支持更多的网站。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.