温馨提示×

如何在linux部署laravel应用

小樊
39
2026-10-21 18:26:22
栏目: 智能运维

下面按生产环境的标准,给你一份在 Linux(以 Ubuntu 22.04 为例)部署 Laravel 应用的完整流程。你可以按需裁剪。


一、准备服务器

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 创建部署用户(可选但推荐)

adduser deploy
usermod -aG sudo deploy
su - deploy

二、安装运行环境

1. 安装 Nginx + PHP + MySQL

sudo apt install -y nginx
sudo apt install -y php php-fpm php-mysql php-mbstring php-xml php-curl php-zip php-gd php-bcmath
sudo apt install -y mysql-server

查看 PHP 版本:

php -v

三、安装 Composer

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

四、部署 Laravel 项目

1. 上传代码

推荐使用 Git:

cd /var/www
git clone git@github.com:yourname/your-laravel-app.git
cd your-laravel-app

或用 FTP / scp 上传。

2. 安装依赖

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://your-domain.com

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=secret

五、配置数据库

sudo mysql
CREATE DATABASE laravel;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON laravel.* TO 'laravel'@'localhost';
FLUSH PRIVILEGES;
EXIT;

执行迁移:

php artisan migrate --force

六、设置权限

sudo chown -R www-data:www-data /var/www/your-laravel-app
sudo chmod -R 755 /var/www/your-laravel-app
sudo chmod -R 775 storage bootstrap/cache

七、配置 Nginx

新建配置文件:

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

示例配置:

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

启用站点:

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

八、优化 Laravel(生产必做)

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

九、队列 / 定时任务(如用到)

队列

php artisan queue:work --daemon

建议用 Supervisor:

sudo apt install supervisor

定时任务

crontab -e
* * * * * cd /var/www/your-laravel-app && php artisan schedule:run >> /dev/null 2>&1

十、HTTPS(强烈推荐)

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com

十一、常见部署方式补充

  • Laravel Forge:最省事
  • Docker + Laravel:适合微服务
  • CI/CD(GitHub Actions):自动部署

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

  • 使用的 Linux 发行版
  • 是否用 Docker
  • 是否有域名 / HTTPS 需求

我可以直接给你定制化部署方案。

0 踩