如何在生产环境中启动Laravel服务器

16
当我运行时,它会输出:
php artisan serve --port=80
Laravel development server started on http://localhost:80

我如何使它在后台运行,当我退出控制台时服务器停止运行。


1个回答

30

简要回答:不要使用内置的 PHP web 服务器

web 服务器 artisan 使用的是 PHP 内置的 web 服务器,该服务器仅适用于开发环境,如内置 web 服务器文档所示:

警告:此 web 服务器旨在帮助应用程序开发。它也可能对测试目的或在受控环境中运行的应用程序演示有用。它不打算成为一个完整的功能齐全的 web 服务器。它不应该在公共网络上使用。

该 web 服务器只运行一个单线程的进程,因此如果请求被阻塞,PHP 应用程序将停止执行。

在生产环境中,您应该使用完整的 web 服务器,例如 nginxApachelighttpd 等。


1
一种实现的方法是使用php-fpm。 - IvRRimUm
Laravel + Vue.js 应用程序如果没有 php artisan serve 命令将无法运行。请参考此帖子:https://stackoverflow.com/questions/51909405/laravel-vue-js-application-not-working-without-php-artisan-serve。在这种情况下,我们应该怎么做? - Istiaque Ahmed
@IstiaqueAhmed,那不是真的,你误解了你链接到的答案所传达的意思。你应该像上面那个答案中描述的那样使用HTTP服务器。这将负责提供Laravel应用程序。至于Vue部分,那是在浏览器中执行的JavaScript,与服务器无关。 - Bogdan
@Bogdan,那么Laravel + Vue.js应用程序可以在XAMPP Apache服务器上运行,而无需执行php artisan serve吗? - Istiaque Ahmed
在生产环境中让Apache提供服务的简短答案是什么? - n8bar
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接