CentOS部署Laravel的注意事项
Laravel需要PHP 7.3及以上版本,需提前通过yum安装PHP及必要扩展(如php-mysqlnd、php-gd、php-mbstring、php-curl、php-xml、php-bcmath)。若版本不符,可通过Remi仓库升级PHP(如sudo yum-config-manager --enable remi-php74安装PHP 7.4)。
使用Composer安装Laravel及依赖(composer create-project --prefer-dist laravel/laravel your_project_name)。部署后需运行composer install安装项目依赖,若内存不足可临时增加限制(php -d memory_limit=256M composer install)。
root指向项目public目录,添加try_files $uri $uri/ /index.php?$query_string规则处理路由,并配置PHP-FPM(fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock)。示例配置:server {
listen 80;
server_name yourdomain.com;
root /path/to/your/laravel-project/public;
index index.php index.html;
location / { try_files $uri $uri/ /index.php?$query_string; }
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
mod_rewrite模块,配置DocumentRoot指向public目录,并设置AllowOverride All允许.htaccess重写规则。nginx或apache):sudo chown -R nginx:nginx /path/to/your/laravel-project。755、文件权限为644:sudo find /path/to/your/laravel-project -type d -exec chmod 755 {} \;
sudo find /path/to/your/laravel-project -type f -exec chmod 644 {} \;
storage和bootstrap/cache目录需可写(chmod -R 755),确保Laravel能写入缓存、日志等文件。若系统启用SELinux,需调整上下文或临时禁用:
sudo setenforce 0(重启后恢复)。/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled。sudo chcon -R -t httpd_sys_content_t /path/to/your/laravel-project。.env.example为.env:cp .env.example .env。DB_CONNECTION、DB_HOST、DB_DATABASE、DB_USERNAME、DB_PASSWORD)及其他配置(如APP_KEY)。php artisan key:generate。php artisan config:clear。storage/logs/laravel.log)定位错误:tail -f /path/to/your/laravel-project/storage/logs/laravel.log。/var/log/nginx/error.log;Apache:/var/log/httpd/error_log)。php artisan config:cache。php artisan route:cache。php artisan view:cache(生产环境建议开启)。