无停机Laravel部署

问题描述 投票:1回答:1

我想在不停机的情况下从Gitlab部署Laravel应用到服务器。在服务器上,我使用php artisan serve为应用程序提供服务。当前,我在想先复制所有文件,然后在服务器上停止旧的php artisan serve进程,并在服务器上的新文件目录中启动一个新的进程。但是,这会导致少量的停机时间。有办法避免这种情况吗?

php laravel continuous-integration continuous-delivery
1个回答
1
投票

如果使用单个服务器,则无法实现零停机时间。如果停机是系统的关键部分,则使用两台服务器并巧妙地平衡它们之间的负载。请记住,没有托管或VPS提供商可以确保您提供100%的可用性。因此,如果您想在部署过程中获得100%的可用性,则在具有讽刺意味的情况下,您的站点可能在另一时间已关闭。我的意思是,如果重新启动php artisan serve的时间很短,那么可以扩展到一台以上的服务器。一种变通方法是使用一些第三方服务(例如CloudFlare),该服务可以智能地检测服务器故障情况并在服务器返回时通知用户,我个人使用它。如果您真的想要完整的正常运行时间,那么使用kubernetes的docker是您的技术。

© www.soinside.com 2019 - 2024. All rights reserved.