You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel开发服务本地/公网IP无法访问问题求助

Laravel Artisan Serve 局域网访问失效排查方案

以下是针对问题的排查步骤,按顺序尝试:

  • 确认Artisan服务的监听IP
    执行netstat -tulpn | grep 8000,检查输出里的监听地址是不是0.0.0.0:8000。如果显示的是127.0.0.1:8000,说明服务只绑定了本地回环,局域网设备无法访问,需要重新执行php artisan serve --host 0.0.0.0启动服务,确保命令没有报错。

  • 检查防火墙规则
    卸载Apache安装Nginx的过程中,防火墙规则可能被修改。执行ufw status查看防火墙状态:

    • 如果防火墙处于激活状态,确认是否存在允许8000端口的规则,没有的话执行sudo ufw allow 8000添加规则。
    • 若使用iptables,执行iptables -L -n | grep 8000,确保有针对8000端口的ACCEPT规则,没有则手动添加。
  • 排查Nginx的端口干扰
    虽然Artisan用8000端口,但检查Nginx配置是否意外占用或干扰该端口:

    • 查看Nginx配置文件(如/etc/nginx/sites-available/default),确认没有listen 8000;的配置项。
    • 执行netstat -tulpn | grep nginx,查看Nginx实际监听的端口,确保和8000无冲突。
  • 验证局域网设备连通性
    在手机上尝试ping服务端IP192.168.0.150:

    • 如果ping不通,检查路由器是否开启了AP隔离功能(部分路由器默认开启,会阻止同一WiFi下设备互访),进入路由器管理界面关闭该功能。
    • 确认手机和服务端处于同一网段(手机IP应为192.168.0.x)。
  • 重置端口转发(公网访问场景)
    若局域网访问恢复后公网仍无法访问:

    • 检查路由器的端口转发规则,确认规则指向的IP仍是192.168.0.150、端口为8000,且规则未被禁用。
    • 部分运营商会封禁8000这类非标准端口,可尝试将Artisan服务改为监听80或443端口(需sudo权限,如sudo php artisan serve --host 0.0.0.0 --port 80),再调整端口转发规则。
  • 重启相关服务与网络
    尝试重启Artisan服务、Nginx服务(sudo systemctl restart nginx)、路由器,或重启服务端的网络服务(sudo systemctl restart networking),排除临时配置缓存问题。

内容的提问来源于stack exchange,提问作者alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 09:27:32