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

2025-11-04 0 248

首先确保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

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

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

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

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

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

<Directory “/var/www/your-laravel-project/public”>
AllowOverride All
Require all granted
</Directory>

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 错误。

以上就是laravel怎么在Nginx或Apache服务器上正确配置_laravel在Nginx/Apache服务器配置方法的详细内容,更多请关注php中文网其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

遇见资源网 php框架 laravel怎么在Nginx或Apache服务器上正确配置_laravel在Nginx/Apache服务器配置方法 https://www.ox520.com/1854.html

常见问题

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务