温馨提示×

linux laravel怎样部署项目

小樊
45
2026-09-19 08:31:46
栏目: 智能运维

下面按最常见的生产环境(Linux + Nginx + PHP + MySQL)给你一套从零部署 Laravel 项目的标准流程,适合新手照做。


一、服务器准备

1. 系统建议

  • Ubuntu 20.04 / 22.04(最常用)
  • CentOS 7/8(也可,但命令略有不同)

二、安装基础环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Nginx

sudo apt install nginx -y

3. 安装 PHP(以 PHP 8.1 为例)

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip php8.1-gd -y

4. 安装 MySQL

sudo apt install mysql-server -y
sudo mysql_secure_installation

5. 安装 Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

三、部署 Laravel 项目

1. 上传代码

方式任选:

  • Git(推荐)
cd /var/www
git clone 你的仓库地址 laravel

或:

  • 本地打包 → scp / ftp 上传

2. 安装依赖

cd /var/www/laravel
composer install --optimize-autoloader --no-dev

3. 配置环境

cp .env.example .env
php artisan key:generate

编辑 .env:

APP_ENV=production
APP_DEBUG=false
APP_URL=http://你的域名

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=用户名
DB_PASSWORD=密码

4. 数据库

php artisan migrate --force

(如有 seed)

php artisan db:seed --force

5. 权限设置(非常重要)

sudo chown -R www-data:www-data /var/www/laravel
sudo chmod -R 755 /var/www/laravel
sudo chmod -R 777 /var/www/laravel/storage
sudo chmod -R 777 /var/www/laravel/bootstrap/cache

四、配置 Nginx

1. 新建站点配置

sudo vim /etc/nginx/sites-available/laravel

内容示例:

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/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;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

2. 启用站点

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

五、优化(生产必做)

php artisan config:cache
php artisan route:cache
php artisan view:cache

六、常见问题

500 错误

  • 看日志:
tail -f /var/www/laravel/storage/logs/laravel.log

权限问题

  • storage / bootstrap/cache 必须可写

访问空白

  • APP_DEBUG=true 临时调试
  • 检查 Nginx root 是否指向 public

七、进阶(可选)

  • ✅ 使用 Supervisor 管理队列
  • ✅ 使用 Let’s Encrypt 配置 HTTPS
  • ✅ 使用 Git + CI/CD 自动部署
  • ✅ 使用 Docker / Laravel Forge / Sail

如果你愿意,可以告诉我:

  • ✅ 用的是 Ubuntu 还是 CentOS
  • ✅ PHP 版本
  • ✅ 是否用 Docker / 宝塔 / 面板

我可以直接给你对应的一行不差的命令。

0 踩