温馨提示×

linux laravel为何无法访问

小樊
42
2026-10-15 22:19:19
栏目: 智能运维

在 Linux 上 Laravel 无法访问(打不开页面 / 403 / 404 / 500)通常和权限、Web 服务器配置、路由或环境有关。下面按最常见原因逐一排查,你可以对照看是哪一种。


一、最最常见:权限问题(90% 新手都会遇到)

1. storage 和 bootstrap/cache 没写权限

cd /var/www/你的项目
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache

Apache 用户一般是 www-data
Nginx + PHP-FPM 也可能是 nginx 或 php-fpm


二、Apache 无法访问(常见 403)

2. 没开 rewrite(URL 重写)

sudo a2enmod rewrite
sudo systemctl restart apache2

3. Apache 根目录指错

必须指向 public 目录

DocumentRoot /var/www/项目/public
<Directory /var/www/项目/public>
    AllowOverride All
    Require all granted
</Directory>

然后:

sudo systemctl restart apache2

三、Nginx 无法访问(常见 404 / 500)

4. Nginx 配置错误

示例:

server {
    root /var/www/项目/public;
    index index.php index.html;

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

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

改完:

sudo nginx -t
sudo systemctl restart nginx

四、Laravel 自身问题

5. .env 不存在或未生成

cp .env.example .env
php artisan key:generate

6. 没清缓存(改完配置一定要清)

php artisan config:clear
php artisan route:clear
php artisan cache:clear

五、PHP 没装或版本不对

7. 检查 PHP

php -v

Laravel 10+ 需要 PHP 8.1+


六、防火墙 / 端口问题

8. 端口没开

sudo ufw allow 80
sudo ufw allow 443

七、快速自检清单 ✅

你可以按顺序看:

  • [ ] 访问的是 http://IP/项目/public
  • [ ] Apache/Nginx 根目录是 public
  • [ ] storage 有权限
  • [ ] rewrite 已开启
  • [ ] .env 已生成
  • [ ] PHP 版本正确

如果你愿意,我可以更精准帮你

请告诉我:

  1. 用的是 Apache 还是 Nginx
  2. 报错是 403 / 404 / 500 / 白屏
  3. 项目路径(如 /var/www/laravel)
  4. Linux 发行版(Ubuntu / CentOS)

我可以直接给你一份可用配置文件。

0 踩