首页主机资讯Linux如何高效运行Laravel项目

Linux如何高效运行Laravel项目

时间2026-01-22 01:04:03发布访客分类主机资讯浏览774
导读:Linux高效运行 Laravel 的实用清单 一 基础运行环境与目录规范 使用 Nginx + PHP-FPM(或 Apache + mod_php),Web 根目录指向 /path/to/laravel/public,通过 try_f...

Linux高效运行 Laravel 的实用清单

一 基础运行环境与目录规范

  • 使用 Nginx + PHP-FPM(或 Apache + mod_php),Web 根目录指向 /path/to/laravel/public,通过 try_files $uri $uri/ /index.php?$query_string; 统一入口。
  • 安装并启用必要扩展:php-cli php-fpm php-json php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath
  • 使用 Composer 管理依赖:composer global require laravel/installer,并将 ~/.config/composer/vendor/bin 加入 PATH
  • 示例 Nginx 片段:
    server {
        
      listen 80;
        
      server_name yourdomain.com;
        
      root /path/to/laravel/public;
        
      index index.php;
    
      location / {
         try_files $uri $uri/ /index.php?$query_string;
     }
    
      location ~ \.php$ {
        
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        
        fastcgi_index index.php;
        
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        
        include fastcgi_params;
    
      }
    
      location ~ /\.(?!well-known).* {
         deny all;
     }
    
    }
        
    
  • 注意:生产环境不要使用 php artisan serve,应使用 Nginx/PHP-FPMLaravel Octane 承载。

二 PHP 运行时与进程模型优化

  • 启用 OPcache(php.ini 建议值):
    opcache.enable=1
    opcache.memory_consumption=128
    opcache.interned_strings_buffer=8
    opcache.max_accelerated_files=10000
    opcache.revalidate_freq=60
    opcache.enable_cli=0
    
  • 使用 PHP-FPM 进程池 合理调参(示例为动态模式):
    • 依据内存与并发估算:pm.max_children ≈ 可用内存 / 单个 PHP 进程平均内存
    • 建议起点:pm.start_servers=4pm.min_spare_servers=2pm.max_spare_servers=8
    • 重启生效:systemctl restart php-fpm
  • 选择 较新稳定版 PHP(如 PHP 8.x),并关闭无用扩展以降低开销。

三 Laravel 应用层优化

  • 配置与路由缓存(生产环境):
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    composer dump-autoload --optimize
    
  • 缓存驱动与会话:将 CACHE_DRIVER=redisSESSION_DRIVER=redis,提升会话与缓存吞吐。
  • 数据库与 Eloquent:为高频查询字段建立 索引;使用 Eager Loading 预加载关联,避免 N+1;必要时使用 分页 控制单次数据量。
  • 队列与异步:将耗时任务放入队列,使用 php artisan queue:work --daemonLaravel Horizon 管理 Redis 队列,提升响应速度与稳定性。
  • 前端与传输:使用 Laravel Mix 执行 npm run production 进行资源压缩合并;在 Nginx 启用 Gzip/Brotli 压缩;静态资源接入 CDN

四 系统层面与网络优化

  • 适度提升 文件描述符限制(如 systemd 服务设置 LimitNOFILE=65536),避免高并发下“Too many open files”。
  • 优化内核网络参数(示例):
    net.core.somaxconn = 4096
    net.ipv4.tcp_max_syn_backlog = 4096
    
  • 启用 HTTP/2HTTP/3,并开启 TLS 1.2+ 以兼顾安全与性能。

五 部署架构与高并发实践

  • 进程常驻与预热:使用 Laravel Octane(基于 Swoole/RoadRunner)显著提升吞吐:
    composer require laravel/octane
    php artisan octane:install
    php artisan octane:start --workers=4 --task-workers=2
    
  • 进程守护与平滑升级:使用 systemd 管理 php-fpm / queue:work / octane,实现开机自启、自动重启与零停机部署(如先启动新进程再优雅停止旧进程)。
  • 监控与观测:开发环境可接入 Laravel Debugbar;生产环境建议使用 Laravel Telescope / New Relic / Datadog 进行性能与错误追踪。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux如何高效运行Laravel项目
本文地址: https://pptw.com/jishu/789334.html
Ubuntu中vsftp的性能监控方法 ubuntu僵尸进程产生有哪些因素

游客 回复需填写必要信息