1. 环境准备:安装必要组件
在Linux上运行Laravel前,需确保系统已安装以下核心组件:
mbstring、openssl、pdo_mysql、tokenizer、xml、gd、bcmath等),可通过包管理器(如apt、yum)安装并使用php -m验证扩展是否启用;curl -sS https://getcomposer.org/installer | php安装,移动至/usr/local/bin/composer全局可用);public目录(入口文件index.php所在位置);curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -安装Node.js,npm install安装项目前端依赖)。2. 文件权限:保障安全与可访问性
Laravel的storage(日志、缓存、上传文件)和bootstrap/cache(框架缓存)目录需要Web服务器用户(如www-data、nginx、apache)的读写权限,否则会导致“无法写入”错误。正确设置步骤如下:
sudo chown -R www-data:www-data /path/to/laravel(根据实际用户调整);sudo find /path/to/laravel -type d -exec chmod 755 {} \;、sudo find /path/to/laravel -type f -exec chmod 644 {} \;;storage和bootstrap/cache目录添加组写权限:sudo chmod -R ug+rwx storage bootstrap/cache(确保Web服务器可写入);sudo chcon -R -t httpd_sys_rw_content_t /path/to/laravel(允许Web服务器读写)。3. .env配置:避免敏感信息泄露
.env.example复制生成.env文件:cp .env.example .env;.env中的关键配置:
DB_CONNECTION(如mysql)、DB_HOST(如127.0.0.1)、DB_DATABASE(数据库名)、DB_USERNAME(数据库用户名)、DB_PASSWORD(数据库密码);php artisan key:generate生成APP_KEY(用于加密会话、CSRF令牌等);APP_DEBUG=false(避免暴露敏感错误信息,如堆栈跟踪、数据库结构);APP_URL(应用访问地址)、MAIL_MAILER(邮件驱动)等。4. Web服务器配置:正确指向public目录
server {
listen 80;
server_name yourdomain.com;
root /path/to/laravel/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据PHP版本调整
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.(?!well-known).* {
deny all; # 禁止访问隐藏文件(如.git)
}
}
<VirtualHost *:80>
ServerName yourdomain.com;
DocumentRoot /path/to/laravel/public;
<Directory /path/to/laravel/public>
AllowOverride All;
Require all granted;
</Directory>
</VirtualHost>
需确保配置正确指向public目录,并配置PHP-FPM解析(Nginx)或启用mod_rewrite模块(Apache)。5. 依赖管理:使用Composer正确安装与更新
composer install安装composer.json中定义的所有依赖;composer show --tree查看依赖树,或composer update更新依赖(注意:生产环境建议锁定版本,避免意外更新);composer dump-autoload重新生成自动加载文件(解决类找不到问题)。6. 缓存优化:提升应用性能
Laravel提供多种缓存机制,可显著提升运行效率:
php artisan config:cache(缓存配置文件,减少每次请求的解析开销);php artisan route:cache(缓存路由信息,适用于生产环境);php artisan view:cache(预编译Blade模板,减少模板解析时间);CACHE_DRIVER=redis、SESSION_DRIVER=redis),提升缓存读写速度。7. 安全加固:防范常见风险
.env中的APP_DEBUG设置为false,隐藏敏感错误信息;storage、bootstrap/cache目录可写(Web服务器用户有写入权限),其他目录(如app、config)仅允许读取;sudo apt install certbot python3-certbot-nginx,执行sudo certbot --nginx -d yourdomain.com),启用HTTPS加密通信;.env、.git等敏感目录(location ~ /\.(?!well-known).* { deny all; }),防止恶意用户下载配置文件或源代码。8. 日志与监控:快速定位问题
storage/logs/laravel.log,可通过config/logging.php配置日志驱动(如daily格式,保留7天)或集成外部服务(如Papertrail、ELK Stack),便于排查500错误、慢查询等问题;composer require barryvdh/laravel-debugbar --dev),实时查看SQL查询、路由、视图渲染时间等指标;或使用New Relic、Datadog等工具监控应用性能(如响应时间、错误率、服务器资源使用率);tail -f storage/logs/laravel.log实时监控日志,及时发现并解决问题。