debian

Laravel项目在Debian上的部署流程是什么

小樊
48
2025-07-14 05:48:04
栏目: 智能运维

在Debian上部署Laravel项目是一个相对直接的过程,以下是详细的步骤:

更新系统

首先,确保你的Debian系统是最新的:

sudo apt update
sudo apt upgrade

安装Nginx

安装Nginx,这是Laravel推荐的Web服务器:

sudo apt install nginx

安装完成后,启动Nginx服务并检查其状态:

sudo systemctl start nginx
sudo systemctl status nginx

安装PHP及PHP-FPM

安装PHP及其必要的扩展,这些扩展对于Laravel的运行至关重要:

sudo apt install php php-cli php-common php-json php-gmp php-fpm php-xmlrpc php-bcmath php-imagick php-curl php-zip php-gd php-mysql php-xml php-mbstring php-xmlrpc php-intl php-sqlite3

检查PHP是否安装成功:

php -v

安装MySQL

安装MariaDB或MySQL数据库:

sudo apt install mariadb-server

在安装过程中,系统会提示你设置root密码,请选择一个强密码并确保其安全。

安装Composer

Composer是PHP的依赖管理工具,用于安装和管理Laravel项目所需的依赖包:

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

验证Composer是否安装成功:

composer --version

创建Laravel项目

选择一个目录用于存放Laravel项目,并使用Composer创建新项目:

cd /home/david
composer create-project --prefer-dist laravel/laravel example-app

配置Nginx

/etc/nginx/conf.d 目录下创建一个新的配置文件,例如 example-app.conf,并添加以下内容:

server {
    listen 80;
    listen [::]: 80;
    server_name example.local;
    root /home/david/example-app/public;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
    index index.php;
    charset utf-8;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}

替换 example.local 为你的域名,并确保Nginx配置文件指向正确的Laravel项目目录。

重启Nginx服务

最后,重启Nginx服务以应用新的配置:

sudo systemctl restart nginx

配置.env文件

进入项目目录并修改 .env 文件以匹配你的环境:

cd /home/david/example-app
cp .env.example .env
nano .env

编辑 .env 文件,设置数据库连接信息:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=example_db
DB_USERNAME=root
DB_PASSWORD=secret

生成应用密钥:

php artisan key:generate

运行数据库迁移以设置数据库结构:

php artisan migrate

访问应用

在浏览器中访问 http://example.local,你应该能看到Laravel的欢迎页面。

0
看了该问题的人还看了