Linux服务器上Laravel如何配置
导读:Linux服务器上 Laravel 配置全流程 一 环境准备与版本要求 系统建议:Ubuntu 20.04/22.04 或 CentOS 7/8。 Web 服务:Nginx 或 Apache(下文以 Nginx 为主,附 Apache 要...
Linux服务器上 Laravel 配置全流程
一 环境准备与版本要求
- 系统建议:Ubuntu 20.04/22.04 或 CentOS 7/8。
- Web 服务:Nginx 或 Apache(下文以 Nginx 为主,附 Apache 要点)。
- PHP 与扩展:Laravel 11 要求 PHP >
= 8.2,并启用常见扩展(如 Ctype、cURL、DOM、Fileinfo、Filter、Hash、Mbstring、OpenSSL、PCRE、PDO、Session、Tokenizer、XML)。在 Ubuntu 可用:
sudo apt install php-fpm php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip git composer;CentOS 7 可启用 EPEL/Remi 仓库后安装对应 PHP 8.2 及扩展。确保与 Nginx/Apache 配套的 PHP-FPM 已安装并运行。
二 部署代码与基础配置
- 放置代码:建议目录 /var/www/your-project,设置所有者为 Web 服务用户(如 www-data)。
- 安装依赖:进入项目目录执行
composer install --optimize-autoloader --no-dev(生产环境跳过 dev 依赖)。 - 环境变量:复制并重命名
.env.example为.env,配置关键项:APP_ENV=production、APP_DEBUG=false、APP_URL=https://yourdomain.com- 数据库:
DB_HOST=localhost、DB_DATABASE=...、DB_USERNAME=...、DB_PASSWORD=...
- 生成密钥:
php artisan key:generate - 目录权限:确保 storage 与 bootstrap/cache 可写(如
chown -R www-data:www-data storage bootstrap/cache; chmod -R 775 storage bootstrap/cache)。
三 Web 服务器配置
- Nginx 站点配置示例(将请求统一指向 public/index.php,并开启基础安全头):
启用站点:server { listen 80; listen [::]:80; server_name example.com; root /srv/example.com/public; index index.php; charset utf-8; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; # 按实际 PHP 版本与路径调整 fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ & & sudo nginx -t & & sudo systemctl reload nginx。 - Apache 要点:创建虚拟主机,
DocumentRoot指向 /path/to/laravel/public,< Directory>中开启AllowOverride All,并确保启用 mod_rewrite。
四 数据库与队列等生产必备
- 数据库迁移与可选数据填充:
php artisan migrate --force- 如需:
php artisan db:seed --force
- 计划任务(Laravel Scheduler):在服务器 crontab 添加
* * * * * cd /var/www/your-project & & php artisan schedule:run > > /dev/null 2> & 1
- 队列监听(守护进程):
- 简单:
php artisan queue:work --queue=default --tries=3 - 生产建议用 Supervisor 托管队列进程,保证异常自动重启与常驻运行。
- 简单:
五 性能与安全优化
- 配置与路由缓存(部署阶段执行,显著减少 I/O):
php artisan config:cachephp artisan route:cache- 事件与视图:
php artisan event:cache、php artisan view:cache - 回滚:
php artisan optimize:clear - 重要提示:执行
config:cache后,框架不再加载.env,请确保仅通过配置文件访问环境变量,避免env()在生产读取失败。
- 安全与运维:
- 生产务必设置 APP_DEBUG=false,避免泄露敏感信息。
- 健康检查路由:默认 /up,可在
bootstrap/app中自定义为 /status,用于 LB/K8s 健康探测。 - 可选方案:使用 Laravel Forge 自动化服务器与站点管理,或使用 FrankenPHP 运行 Laravel(支持 HTTP/3、与 Laravel Octane 集成等)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux服务器上Laravel如何配置
本文地址: https://pptw.com/jishu/786967.html
