linux

Linux下Laravel部署有何技巧

小樊
46
2025-03-28 13:24:27
栏目: 智能运维

在Linux下部署Laravel应用程序时,有一些关键步骤和技巧可以帮助你确保应用程序顺利运行。以下是一个详细的指南,涵盖了从环境配置到应用部署的整个过程。

环境准备

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
    
  2. 安装必要的软件

    • PHP:安装PHP及其必要的扩展。
      sudo apt install php php-fpm php-mysql php-curl php-mbstring php-xml php-zip php-gd php-bcmath
      
    • Composer:安装PHP的依赖管理工具。
      curl -sS https://getcomposer.org/installer | php
      sudo mv composer.phar /usr/local/bin/composer
      
    • Nginx或Apache:选择并安装Web服务器。这里以Nginx为例。
      sudo apt install nginx
      
    • MySQL:安装MySQL数据库服务器。
      sudo apt install mysql-server
      

部署步骤

  1. 上传Laravel应用程序: 使用FTP或SCP将Laravel项目上传到服务器,确保将项目的public目录设置为服务器的Web根目录。

  2. 配置Nginx: 编辑Nginx配置文件,通常位于/etc/nginx/sites-available/目录下。

    sudo nano /etc/nginx/sites-available/default
    

    添加以下内容:

    server {
        listen 80;
        server_name your_domain.com;
        root /path/to/your/laravel/public;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; modeblock";
        add_header X-Content-Type-Options "nosniff";
        index index.html index.htm index.php;
        charset utf-8;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
        location /\.(?!well-known).* {
            deny all;
        }
    }
    

    保存文件并重启Nginx:

    sudo systemctl restart nginx
    
  3. 配置PHP: 确保PHP安装了必要的扩展。你可以使用以下命令检查:

    php -m
    

    确保以下扩展已经安装:pdo_mysql, tokenizer, xml, mbstring, curl, zip, gd, bcmath

  4. 配置环境变量: 复制.env.example文件为.env,并使用你的数据库凭据和其他必要的信息填充它。

    cp .env.example .env
    nano .env
    

    生成应用密钥:

    php artisan key:generate
    
  5. 运行数据库迁移: 创建数据库并运行迁移:

    php artisan migrate
    
  6. 优化配置: 运行以下命令优化配置缓存和路由缓存:

    php artisan config:cache
    php artisan route:cache
    
  7. 设置文件权限: 确保Laravel的storagebootstrap/cache目录具有正确的权限:

    sudo chown -R www-data:www-data /path/to/your/laravel/storage
    sudo chown -R www-data:www-data /path/to/your/laravel/bootstrap/cache
    sudo chmod -R 775 /path/to/your/laravel/storage
    sudo chmod -R 775 /path/to/your/laravel/bootstrap/cache
    

其他技巧

通过以上步骤和技巧,你应该能够在Linux上成功部署Laravel应用程序。如果在过程中遇到任何问题,请参考Laravel官方文档或寻求社区帮助。

0
看了该问题的人还看了