我目前的任务是在同一个windows服务器上设置三个独立的web应用程序。web应用程序都是用php/laravel构建的,并使用mysql作为数据库。
我通常通过在服务器上手动设置apache、php和mysql,并在apache上运行各自具有vhost的php web应用来完成这样的任务。这种方法的问题是,如果其中一个web应用程序需要一些维护,导致需要关闭apache或mysql等服务,那么其他web也会遭受停机的影响。
因此,我想探索其他选项,在这些选项中,我可以将许多web应用程序及其相关服务作为独立进程运行。据我所知,我应该能够使用docker(或其他一些虚拟化解决方案)来做类似的事情,但我不确定这是不是太过了,或者是否有其他解决方案可以探索。
总结一下。。。
如何在同一台服务器上独立运行多个web应用程序?
docker是正确的方法(请举例说明)还是过度使用?
我应该考虑其他选择吗?
还有什么我应该考虑的(潜在问题、解决方案)?
1条答案
按热度按时间6vl6ewon1#
我使用docker多年,在同一台服务器上部署多个应用程序非常容易。每个应用程序独立运行,可以有不同的配置甚至不同的操作系统。
方法是:
1(或3)台mysql服务器(图片:mysql)
3台php服务器(图片:php)
1个用于重定向请求的nginx,作为代理(图片:jwilder/nginx proxy)
这可以是docker compose中服务的一个示例(根据需要为mysql和应用程序重复服务):
有关详细信息,请参阅每张图片的说明。
关于头顶,请阅读:
docker容器的运行时性能成本是多少
我认为这是实现你目标的最好方法。