在 Laravel 中,应用程序本身并不直接监听端口。相反,Laravel 是一个 PHP 框架,通常运行在支持 PHP 的 Web 服务器(如 Apache、Nginx)或内置的 PHP 开发服务器之上。这些服务器负责监听特定端口并将请求转发给 Laravel 应用程序。
使用 PHP 内置服务器(开发环境)
在开发环境中,你可以使用 PHP 的内置服务器来运行 Laravel 应用程序。默认情况下,这个服务器会监听 localhost
的 8000 端口。
-
启动内置服务器
你可以通过以下命令启动 Laravel 应用程序的内置服务器:
php artisan serve
默认情况下,这将启动服务器并监听
127.0.0.1:8000
。 -
指定端口
如果你想使用不同的端口,可以使用
--port
选项:php artisan serve --port=8080
这将启动服务器并监听
127.0.0.1:8080
。 -
指定主机
如果你希望服务器监听所有可用的网络接口,可以使用
--host
选项:php artisan serve --host=0.0.0.0 --port=8000
这将使服务器在
0.0.0.0:8000
上监听,允许从网络上的其他设备访问(前提是你的防火墙和网络配置允许)。
使用 Web 服务器(生产环境)
在生产环境中,你应该使用更健壮的 Web 服务器,如 Apache 或 Nginx。这些服务器通常配置为监听 80(HTTP)或 443(HTTPS)端口,并将请求转发给 PHP-FPM 或其他 PHP 处理器来处理 Laravel 应用程序。
- Apache:通常通过配置
.htaccess
文件和虚拟主机来将请求路由到public/index.php
。 - Nginx:通过配置服务器块(server block)来将请求转发到
public/index.php
,并处理 PHP 请求。
配置
无论使用哪种服务器,确保你的 Laravel 应用程序的 public
目录是 Web 服务器的根目录。这是因为 Laravel 的入口文件 index.php
位于 public
目录中,并且该目录包含了处理静态资源所需的文件。
安全性
- 不要在生产环境中使用
php artisan serve
:内置服务器仅用于开发目的,不适合生产环境。 - 配置防火墙:确保只允许必要的端口和 IP 地址访问你的服务器。
- 使用 HTTPS:在生产环境中,始终使用 HTTPS 来保护数据传输。
通过正确配置 Web 服务器和 Laravel 应用程序,你可以确保应用程序安全、高效地运行。