首页主机资讯Linux服务器上Laravel如何配置

Linux服务器上Laravel如何配置

时间2026-01-20 09:37:04发布访客分类主机资讯浏览1134
导读:Linux服务器上 Laravel 配置全流程 一 环境准备与版本要求 系统建议:Ubuntu 20.04/22.04 或 CentOS 7/8。 Web 服务:Nginx 或 Apache(下文以 Nginx 为主,附 Apache 要...

Linux服务器上 Laravel 配置全流程

一 环境准备与版本要求

  • 系统建议:Ubuntu 20.04/22.04CentOS 7/8
  • Web 服务:NginxApache(下文以 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=productionAPP_DEBUG=falseAPP_URL=https://yourdomain.com
    • 数据库:DB_HOST=localhostDB_DATABASE=...DB_USERNAME=...DB_PASSWORD=...
  • 生成密钥:php artisan key:generate
  • 目录权限:确保 storagebootstrap/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:cache
    • php artisan route:cache
    • 事件与视图:php artisan event:cachephp 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
ubuntu僵尸进程排查方法 Ubuntu vsftpd常见问题有哪些

游客 回复需填写必要信息