Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤

admin 百科 13
部署Laravel项目需先配置服务器环境,安装Nginx、MySQL、PHP及扩展,再克隆代码并安装依赖;接着配置.env文件为生产环境,设置应用密钥;然后配置Nginx站点指向public目录,设置权限与存储链接;执行数据库迁移与种子数据;配置Cron任务与队列监听;启用HTTPS加密;最后清除缓存以优化性能,确保安全与稳定运行。

Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤-第1张图片-佛山资讯网

Laravel 项目部署到线上服务器并不是简单地上传代码,而是一个涉及环境配置、安全设置和性能优化的完整流程。以下是将 Laravel 项目从本地部署到生产服务器的标准步骤,适用于大多数 Linux 服务器(如 Ubuntu + Nginx + MySQL + PHP 环境)。

1. 准备服务器环境

确保你的服务器具备运行 Laravel 所需的基础环境:

  • 操作系统:推荐使用 Ubuntu 20.04/22.04 或 CentOS 7/8
  • Web 服务器:Nginx 或 Apache(推荐 Nginx)
  • PHP 版本:Laravel 要求 PHP >= 8.1,建议安装 PHP 8.1 或更高版本
  • 数据库:MySQL 或 MariaDB
  • 扩展支持:确保安装了必要的 PHP 扩展,如 opensslpdombstringtokenizerxmlcurlgdzip
  • 工具:Composer、Git

在 Ubuntu 上可使用以下命令快速安装:

sudo apt update
sudo apt install nginx mysql-server php-fpm php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip git composer

登录后复制

2. 上传或克隆 Laravel 项目代码

将你的 Laravel 项目上传到服务器,通常放在 /var/www/your-project 目录下。

  • 通过 Git 克隆(推荐):

    cd /var/www
    git clone https://github.com/yourname/your-laravel-project.git your-project

    登录后复制

  • 或使用 FTP/SFTP 上传压缩包后解压

进入项目目录并安装依赖:

cd /var/www/your-project
composer install --optimize-autoloader --no-dev

登录后复制

--no-dev 参数会跳过开发依赖,提升生产环境安全性与性能。

3. 配置环境文件 .env

复制示例环境文件并根据服务器信息修改:

cp .env.example .env

登录后复制

编辑 .env 文件:

APP_ENV=production
APP_DEBUG=false
APP_URL=https://yourdomain.com
<p>DB_HOST=localhost
DB_DATABASE=your_db_name
DB_USERNAME=your_db_user
DB_PASSWORD=your_db_password

登录后复制

生成应用密钥:

php artisan key:generate

登录后复制

4. 配置 Web 服务器(以 Nginx 为例)

创建 Nginx 配置文件:

sudo nano /etc/nginx/sites-available/your-project

登录后复制

写入以下内容(注意路径和域名):

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/your-project/public;
<pre class="brush:php;toolbar:false;">index index.php index.html index.htm;

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;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

location ~ /\.ht {
    deny all;
}

登录后复制

}

启用站点:

sudo ln -s /etc/nginx/sites-available/your-project /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

登录后复制

5. 设置权限和存储链接

Laravel 需要对某些目录有写权限:

标签: laravel 服务器部署 mysql php linux word redis centos html bootstr

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~