温馨提示×

Laravel项目在Debian上的部署步骤

小樊
52
2025-09-15 08:46:03
栏目: 智能运维

以下是在Debian上部署Laravel项目的核心步骤:

  1. 系统更新与软件安装

    sudo apt update && sudo apt upgrade -y  
    sudo apt install nginx php php-cli php-fpm php-mysql php-json php-mbstring php-xml php-zip composer mysql-server  
    
  2. 配置Web服务器(以Nginx为例)

    • 创建配置文件 /etc/nginx/sites-available/yourdomain.com
      server {  
          listen 80;  
          server_name yourdomain.com;  
          root /var/www/yourproject/public;  
          index index.php index.html;  
          location / { try_files $uri $uri/ /index.php?$query_string; }  
          location ~ \.php$ {  
              include snippets/fastcgi-php.conf;  
              fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;  
          }  
      }  
      
    • 启用配置并重启Nginx:
      sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/  
      sudo nginx -t && sudo systemctl restart nginx  
      
  3. 部署Laravel项目

    • 上传项目至 /var/www/yourproject,或通过Composer创建:
      composer create-project --prefer-dist laravel/laravel /var/www/yourproject  
      
    • 安装依赖:
      cd /var/www/yourproject && composer install --no-dev --optimize-autoloader  
      
  4. 配置环境与权限

    • 复制 .env.example.env,修改数据库连接等信息:
      cp .env.example .env  
      nano .env  
      
    • 生成应用密钥:
      php artisan key:generate  
      
    • 设置文件权限:
      sudo chown -R www-data:www-data /var/www/yourproject  
      sudo chmod -R 755 /var/www/yourproject  
      sudo chmod -R 777 /var/www/yourproject/storage /var/www/yourproject/bootstrap/cache  
      
  5. 数据库与迁移

    • 登录MySQL创建数据库及用户:
      sudo mysql -u root -p  
      CREATE DATABASE laravel_db;  
      CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';  
      GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';  
      FLUSH PRIVILEGES;  
      EXIT;  
      
    • 执行迁移:
      php artisan migrate  
      
  6. 启动服务与验证

    • 确保Nginx和PHP-FPM服务运行:
      sudo systemctl restart nginx php7.4-fpm  
      
    • 访问 http://yourdomain.com 查看项目是否正常运行。

说明

  • 可根据需求选择Apache或Nginx,配置略有差异。
  • 生产环境中建议关闭调试模式(APP_DEBUG=false)并配置HTTPS。
  • 如需使用队列、缓存等功能,可额外配置Supervisor或Redis。

0