信息发布→ 登录 注册 退出

laravel怎么在Nginx或Apache服务器上正确配置_laravel在Nginx/Apache服务器配置方法

发布时间:2025-10-26

点击量:
首先确保Web服务器指向Laravel的public目录并配置重写规则,Nginx需设置root和try_files指令,Apache需启用mod_rewrite并配置DocumentRoot及AllowOverride权限,最后调整文件权限与所有权以确保正常访问。

如果您尝试在服务器上部署 Laravel 应用,但访问时出现页面路由错误或资源文件无法加载,可能是由于 Web 服务器未正确指向 Laravel 的 public 目录或 URL 重写规则未配置。以下是解决此问题的步骤:

本文运行环境:Dell XPS 13,Ubuntu 22.04

一、Nginx 配置 Laravel 项目

Nginx 需要将请求指向 Laravel 的 public 目录,并启用重写规则以支持隐式 index.php 路由。

1、打开 Nginx 站点配置文件,通常位于 /etc/nginx/sites-available/your-site

2、确保 server 块中的 root 指向 Laravel 项目的 public 目录,例如:
root /var/www/your-laravel-project/public;

3、在 server 块中添加 location 块以处理所有请求通过 index.php 入口文件:

location / {
try_files $uri $uri/ /index.php?$query_string;
}

4、确保已配置 PHP 处理模块,如使用 php-fpm:

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}

5、测试配置语法并重新加载 Nginx:
sudo nginx -t && sudo systemctl reload nginx

二、Apache 配置 Laravel 项目

Apache 需启用 .htaccess 支持并配置正确的 DocumentRoot,以确保路由和静态资源正常工作。

1、确认 Apache 已开启 mod_rewrite 模块:
sudo a2enmod rewrite

2、编辑站点配置文件,路径通常为 /etc/apache2/sites-available/000-default.conf

3、设置 DocumentRoot 指向 Laravel 的 public 目录:

DocumentRoot /var/www/your-laravel-project/public

4、在 VirtualHost 内添加目录权限配置,允许 .htaccess 覆盖:


AllowOverride All
Require all granted

5、保存后重启 Apache 服务:
sudo systemctl restart apache2

三、验证与权限设置

确保 Laravel 核心目录具有正确的读写权限,避免因权限问题导致配置失败。

1、设置存储和缓存目录可写:
sudo chmod -R 775 storage bootstrap/cache

2、确保 Web 服务器运行用户(如 www-data)拥有项目文件所有权:
sudo chown -R www-data:www-data /var/www/your-laravel-project

3、在浏览器中访问应用首页,确认不再显示“NotFoundHttpException”或 403 错误

标签:# var  # 器上  # 器中  # 首页  # 重启  # 以确保  # 如果您  # 运行环境  # 加载  # 配置文件  # 重写  # unix  # location  # default  # php  # public  # Directory  # require  # include  # ai  # ubuntu  # access  # 浏览器  # nginx  # apache  # php8  # bootstrap  # laravel  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!