Php 无停机Laravel部署
我想在不停机的情况下将Laravel应用程序从Gitlab部署到服务器。在服务器上,我使用Php 无停机Laravel部署,php,laravel,continuous-integration,continuous-delivery,Php,Laravel,Continuous Integration,Continuous Delivery,我想在不停机的情况下将Laravel应用程序从Gitlab部署到服务器。在服务器上,我使用php artisan serve为应用程序提供服务。目前,我想首先复制所有文件,然后在服务器上停止旧的php artisan-serve进程,并在服务器上的目录中使用新文件启动一个新进程。但是,这会引入一个小的停机时间。有没有办法避免这种情况?如果您使用的是单台服务器,则无法实现0停机时间。如果停机时间是系统的关键部分,那么请巧妙地使用两台服务器并在它们之间实现负载平衡。请记住,没有主机或VPS提供商可以
php artisan serve
为应用程序提供服务。目前,我想首先复制所有文件,然后在服务器上停止旧的php artisan-serve
进程,并在服务器上的目录中使用新文件启动一个新进程。但是,这会引入一个小的停机时间。有没有办法避免这种情况?如果您使用的是单台服务器,则无法实现0停机时间。如果停机时间是系统的关键部分,那么请巧妙地使用两台服务器并在它们之间实现负载平衡。请记住,没有主机或VPS提供商可以确保您提供100%的可用性。因此,如果您想在部署过程中获得100%的可用性,在一个具有讽刺意味的情况下,您的站点可能已经在另一个时间关闭了。我想说的是,如果重启php artisan serve
的微小时刻很重要,那么可以扩展到多个服务器。
一个解决方案是使用一些第三方服务(如CloudFlare),它可以智能地检测服务器停机的情况,并在服务器返回时通知用户,我个人就是这样使用的。
如果你真的想要完全正常运行时间,kubernetes的docker是你的技术