在 Ubuntu 上跑 Laravel(无论是开发还是生产环境),有几个常见坑和必须配置项。下面按「系统层 → PHP → Laravel → 运维」给你一个实用清单。
sudo apt update
sudo apt install -y git curl unzip nginx mysql-server \
php php-cli php-fpm php-mysql php-mbstring php-xml \
php-bcmath php-curl php-zip php-gd php-intl
查看版本:
php -v
编辑:
sudo nano /etc/php/8.x/fpm/php.ini
建议修改:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
cgi.fix_pathinfo=0
重启:
sudo systemctl restart php8.x-fpm
server {
listen 80;
server_name example.com;
root /var/www/laravel/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.x-fpm.sock;
}
}
❌ /var/www/laravel
✅ /var/www/laravel/public
sudo chown -R www-data:www-data /var/www/laravel
sudo chmod -R 755 /var/www/laravel
sudo chmod -R 775 storage bootstrap/cache
cp .env.example .env
composer install
php artisan key:generate
php artisan migrate
.env
APP_ENV=production
APP_DEBUG=false
php artisan config:cache
php artisan route:cache
php artisan view:cache
如果你用了:
php artisan queue:workschedule:run一定要用 supervisor 或 systemd 守护进程
| 问题 | 原因 |
|---|---|
| 500 错误 | storage 无写权限 |
| 404 路由 | Nginx try_files 没配 |
| 白屏 | APP_DEBUG=false + 日志没看 |
| 慢 | 没开 opcache |
| 队列不执行 | 没守护进程 |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的配置。