linux

Laravel项目在Linux上的部署流程

小樊
43
2025-08-09 09:38:54
栏目: 智能运维

以下是Laravel项目在Linux上的部署流程:

一、环境准备

  1. 更新系统
    sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
    sudo yum update -y  # CentOS/RHEL
    
  2. 安装必要软件
    • PHP(需安装常用扩展如php-fpmphp-mysql等):
      Debian/Ubuntu: sudo apt install php php-fpm php-mysql php-curl php-mbstring php-xml php-zip
      CentOS/RHEL: sudo yum install php php-fpm php-mysqlnd php-curl php-mbstring php-xml php-bcmath
    • Web服务器(以Nginx为例):
      sudo apt install nginx(Debian/Ubuntu)或 sudo yum install nginx(CentOS/RHEL)
    • 数据库(如MySQL):
      sudo apt install mysql-server(Debian/Ubuntu)或 sudo yum install mariadb-server(CentOS/RHEL)
    • Composer
      curl -sS https://getcomposer.org/installer | php,然后 sudo mv composer.phar /usr/local/bin/composer

二、部署Laravel项目

  1. 上传项目
    使用FTP/SCP将项目上传至服务器,建议放在/var/www/目录下,如/var/www/laravel-project
  2. 配置环境文件
    cp .env.example .env
    nano .env
    
    修改数据库连接、APP_KEY等配置(生成APP_KEY需后续执行php artisan key:generate)。
  3. 安装依赖与生成密钥
    composer install --optimize-autoloader --no-dev
    php artisan key:generate
    
  4. 配置数据库
    登录MySQL创建数据库及用户,授权访问:
    CREATE DATABASE laravel_db;
    CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';
    FLUSH PRIVILEGES;
    
    执行迁移:php artisan migrate

三、配置Web服务器(以Nginx为例)

  1. 修改Nginx配置文件
    sudo nano /etc/nginx/sites-available/laravel
    
    添加以下内容(替换/path-to-laravel为实际路径):
    server {
        listen 80;
        server_name your-domain.com;
        root /path-to-laravel/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/php8.1-fpm.sock;  # 根据PHP版本调整
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
        location ~ /\.ht {
            deny all;
        }
    }
    
    启用配置:sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/,然后测试并重启Nginx:
    sudo nginx -t
    sudo systemctl restart nginx
    

四、权限与优化

  1. 设置文件权限
    sudo chown -R www-data:www-data /var/www/laravel-project  # Debian/Ubuntu
    sudo chown -R apache:apache /var/www/laravel-project      # CentOS/RHEL
    sudo chmod -R 775 /var/www/laravel-project/storage /var/www/laravel-project/bootstrap/cache
    
  2. 优化性能(可选)
    php artisan config:cache
    php artisan route:cache
    

五、验证部署

访问http://your-domain.com,若看到Laravel欢迎页面则部署成功。查看日志排查问题:

0
看了该问题的人还看了