如何在同一服务器上使用每个应用程序一个容器运行两个Laravel Docker应用程序,并指向两个域?
两个应用程序都位于同一台AWS ec2服务器上
例如: 容器一指向-> one.mydomain.com 容器指向-> two.mydomain.com
的两个点我是这个新手。
有可能吗?
最好使用Apache解决方案。
答案 0 :(得分:1)
是的,这是一种可能的方式,也是一种不同的方式,建议使用AWS服务。
为每个应用程序使用AWS负载均衡器和Host-based路由以及不同的端口发布
Nginx
使用AWS方法时,您需要使用ECS运行容器。
app1.example.com
,将路由到app1
对app2重复上述步骤。
以上是使用AWS处理容器的标准方法。
您可以详细了解此gentle-introduction-to-how-aws-ecs-works-with-example-tutorial和Run containerized applications in production
使用Nginx,您需要自己管理一切。
app1.example.com
和app2.example.com
的DNS都将指向相同的EC2实例,但是Nginx将决定哪个应用将服务于该请求。 server {
server_name app1.example.com;
location / {
proxy_pass http://127.0.0.1:HOSTPORT;
}
}
server {
server_name app2.example.com;
location / {
proxy_pass http://127.0.0.1:HOSTPORT;
}
}
我将推荐这两种方法,Nginx而非apache,但如果您有兴趣,可以查看此apache-vhosts