### [Laravel框架快速部署:零基础新手必看的保姆级服务器上线实战教程(含环境配置+常见报错解决)](https://www.huociguo.com/article/1356) **Published:** 2026-09-12T12:54:36 **Author:** 米了 **Excerpt:** Laravel作为当前最流行的PHP框架之一,以优雅的语法和强大的功能深受开发者青睐。但许多新手在本地开发完成… Laravel作为当前最流行的PHP框架之一,以优雅的语法和强大的功能深受开发者青睐。但许多新手在本地开发完成后,常因服务器环境配置复杂、文件权限混乱、依赖安装失败等问题,卡在“上线”这一最后环节。本文基于CentOS/Ubuntu系统,以Nginx+PHP+MySQL环境为例,提供一套标准化部署,帮助快速完成Laravel项目从本地到线上的迁移。 ![](https://api.huociguo.com/wp-content/uploads/2026/09/20260912205413728-1212d2b902-1.png "20260912205413728-1212d2b902-1") ### 一、部署前准备:工具与环境清单📋 部署前需准备以下资源: 1. **服务器**:云服务器(推荐2核4G及以上配置),系统选择CentOS 7+/Ubuntu 20.04+; 2. **远程工具**:Xshell(SSH连接)、FileZilla(文件传输); 3. **本地项目**:已开发完成的Laravel项目(确保本地可正常运行,`composer install`无报错); 4. **域名**(可选):已备案域名,解析至服务器公网IP。 ### 二、服务器环境配置:LNMP/LEMP栈搭建🔧 Laravel对服务器环境有明确要求,需确保PHP版本≥8.0、Composer、Nginx/Apache、MySQL/MariaDB已安装。以**Ubuntu 22.04+Nginx+PHP8.1+MySQL8.0**为例: #### 1\. 系统更新与基础依赖安装 ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y git curl wget unzip ``` #### 2\. PHP及扩展安装(Laravel核心依赖) Laravel需PHP开启`fileinfo`、`mbstring`、`openssl`、`pdo_mysql`等扩展,执行以下命令: ```bash sudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip php8.1-gd # 验证PHP版本 php -v # 输出PHP 8.1.x即成功 ``` #### 3\. Nginx安装与配置 ```bash sudo apt install -y nginx # 启动Nginx并设置开机自启 sudo systemctl start nginx sudo systemctl enable nginx ``` 配置Nginx站点(以域名`laravel-demo.com`为例): ```bash sudo nano /etc/nginx/sites-available/laravel-demo ``` 粘贴以下配置(注意修改`root`路径和`server_name`): ```nginx server { listen 80; server_name laravel-demo.com; # 替换为实际域名或服务器IP root /var/www/laravel-demo/public; # Laravel项目public目录 index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } } ``` 启用站点配置: ```bash sudo ln -s /etc/nginx/sites-available/laravel-demo /etc/nginx/sites-enabled/ sudo nginx -t # 验证配置是否有误 sudo systemctl reload nginx ``` #### 4\. MySQL安装与数据库创建 ```bash sudo apt install -y mysql-server sudo mysql_secure_installation # 按提示设置root密码、移除匿名用户等 # 登录MySQL创建数据库 sudo mysql -u root -p CREATE DATABASE laravel_demo_db; # 数据库名自定义 CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'StrongPassword123!'; # 用户名密码自定义 GRANT ALL PRIVILEGES ON laravel_demo_db.* TO 'laravel_user'@'localhost'; FLUSH PRIVILEGES; exit; ``` ### 三、项目上传与依赖安装📤 #### 1\. 项目上传至服务器 通过FileZilla将本地Laravel项目文件上传至服务器`/var/www/`目录,建议压缩后上传(减少传输时间),再解压: ```bash sudo mkdir -p /var/www/laravel-demo # 假设上传的压缩包为laravel-demo.zip,解压至目标目录 sudo unzip laravel-demo.zip -d /var/www/laravel-demo # 设置目录所有者为www-data(Nginx运行用户) sudo chown -R www-data:www-data /var/www/laravel-demo ``` #### 2\. 安装Composer依赖 Laravel项目依赖通过Composer管理,服务器需先安装Composer: ```bash curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer composer -v # 验证安装成功 ``` 进入项目目录安装依赖(**务必使用**`--no-dev`**排除开发依赖,减小体积**): ```bash cd /var/www/laravel-demo sudo -u www-data composer install --no-dev --optimize-autoloader ``` ### 四、核心配置:环境变量与权限设置⚙️ #### 1\. 配置`.env`文件 复制环境模板文件并修改: ```bash cp .env.example .env nano .env ``` 重点修改以下配置: ```env APP_NAME=LaravelDemo APP_ENV=production # 生产环境必须设为production APP_KEY= # 留空,后续生成 APP_DEBUG=false # 生产环境关闭调试模式 APP_URL=http://laravel-demo.com # 替换为实际域名 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_demo_db # 与之前创建的数据库名一致 DB_USERNAME=laravel_user # 与之前创建的用户名一致 DB_PASSWORD=StrongPassword123! # 与之前设置的密码一致 ``` 生成APP\_KEY: ```bash sudo -u www-data php artisan key:generate ``` #### 2\. 目录权限设置(新手最易踩坑!⚠️) Laravel需`storage`和`bootstrap/cache`目录可写,执行: ```bash sudo chmod -R 755 /var/www/laravel-demo/storage sudo chmod -R 755 /var/www/laravel-demo/bootstrap/cache sudo chown -R www-data:www-data /var/www/laravel-demo/storage sudo chown -R www-data:www-data /var/www/laravel-demo/bootstrap/cache ``` #### 3\. 数据库迁移与种子(可选) 若项目有数据库迁移文件,执行: ```bash sudo -u www-data php artisan migrate --force # --force避免生产环境确认提示 # 若有种子数据,执行:php artisan db:seed --force ``` ### 五、部署验证与常见报错解决✅ #### 1\. 访问验证 浏览器访问服务器IP或域名,若看到Laravel欢迎页,说明部署成功🎉;若报错,按以下步骤排查: - **500错误**:检查`.env`配置是否正确、`APP_DEBUG=true`临时开启调试模式查看具体错误; - **权限错误**:确认`storage`和`bootstrap/cache`目录权限是否为`755`,所有者是否为`www-data`; - **Composer依赖缺失**:重新执行`composer install --no-dev`; - **Nginx 404**:检查Nginx配置中`root`路径是否指向`public`目录,`try_files`规则是否正确。 #### 2\. 优化建议(提升性能) ```bash # 配置缓存(生产环境必做) sudo -u www-data php artisan config:cache sudo -u www-data php artisan route:cache sudo -u www-data php artisan view:cache # 优化Composer自动加载 composer dump-autoload -o ``` ## 结尾 Laravel部署虽涉及多环节,但按标准化流程操作即可高效完成。核心注意点:**环境版本匹配、文件权限正确、生产环境关闭调试模式**。部署完成后,建议定期备份数据库与项目文件,并通过`php artisan optimize`持续优化性能。掌握本文流程后,可进一步学习Laravel队列、缓存、HTTPS配置等进阶部署技巧。 **Categories:** PHP框架 ---