Rev*_*ell 5 php architecture proxy nginx docker
我一直在研究Docker以及如何在服务器上托管多个网站"Docker方式".据我所知,理想情况下,一切都应该运行自己的容器,不应该共享这些容器.
我的问题是下面的概述是否是一个有效的容器设置,请求进入单个反向代理,该请求将请求转发给底层的Web服务器以处理实际请求.
此外,在下面的三种情况中,我详细介绍了为应用程序包含源文件的不同方法,并想知道三者中哪一种最常用/最好用.
我的愿望是能够在Docker中的单个服务器上运行不同的网站.这些网站可以有不同的要求,如图中不同的PHP-FPM版本所示.网站本身的部署对我来说有点不清楚,因为我不确定是否应该使用nginx/PHP-FPM包含源文件或单独部署它.
我目前的设置如下:
泊坞窗,compose.yml
version: '2'
services:
nginx:
image: nginx:alpine
restart: always
ports:
- '80:80'
links:
- example_com
- example_org
- example_net
volumes:
- ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro
example_com:
image: php:7.0-fpm-alpine
restart: always
volumes:
- ./sites/example_com:/var/www/example_com:ro
example_org:
image: php:7.0-fpm-alpine
restart: always
volumes:
- ./sites/example_org:/var/www/example_org:ro
example_net:
image: php:7.0-fpm-alpine
restart: always
volumes:
- ./sites/example_net:/var/www/example_net
Run Code Online (Sandbox Code Playgroud)
nginx的/ conf.d/default.conf
server {
listen 80;
server_name www.example.com example.com;
location ~ \.php$ {
fastcgi_pass example_com:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example_com$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name www.example.org example.org;
location ~ \.php$ {
fastcgi_pass example_org:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example_org$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name www.example.net example.net;
location ~ \.php$ {
fastcgi_pass example_net:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example_net$fastcgi_script_name;
include fastcgi_params;
}
}
Run Code Online (Sandbox Code Playgroud)
这不是上面概述所说明的,但概述中的情况对我来说似乎是理想的情况.
如何使用反向代理和不同的PHP-FPM容器进行设置,以及如何部署我的网站及其后续更新?
对此的任何意见将不胜感激!
| 归档时间: |
|
| 查看次数: |
503 次 |
| 最近记录: |