温馨提示×

debian下怎么用laravel写接口

小樊
47
2026-10-02 07:59:46
栏目: 智能运维

下面给你一个在 Debian 下使用 Laravel 写 API 接口的完整思路和步骤,从环境到示例接口,适合新手到中等水平。


一、准备 Debian 环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装必要软件

sudo apt install -y php php-cli php-mbstring php-xml php-curl php-mysql php-zip unzip git

3. 安装 Composer

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

4. 安装 Nginx(或 Apache)

sudo apt install -y nginx

(可选)数据库:

sudo apt install -y mysql-server
# 或
sudo apt install -y sqlite3 php-sqlite3

二、创建 Laravel 项目

composer create-project laravel/laravel api-demo
cd api-demo

三、配置 Laravel(API 模式)

1. 配置数据库

编辑 .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=api_demo
DB_USERNAME=root
DB_PASSWORD=密码

创建数据库:

CREATE DATABASE api_demo;

四、写一个示例 API 接口

1. 创建模型和迁移

php artisan make:model Post -m

修改迁移文件:

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('content');
        $table->timestamps();
    });
}

执行迁移:

php artisan migrate

2. 创建控制器(API)

php artisan make:controller Api/PostController

示例控制器:

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
    public function index()
    {
        return response()->json(Post::all());
    }

    public function store(Request $request)
    {
        $data = $request->validate([
            'title' => 'required',
            'content' => 'required'
        ]);

        $post = Post::create($data);
        return response()->json($post, 201);
    }

    public function show($id)
    {
        return response()->json(Post::findOrFail($id));
    }
}

3. 配置路由(API 路由)

编辑 routes/api.php:

use App\Http\Controllers\Api\PostController;

Route::get('/posts', [PostController::class, 'index']);
Route::post('/posts', [PostController::class, 'store']);
Route::get('/posts/{id}', [PostController::class, 'show']);

五、运行和测试接口

1. 本地测试(推荐)

php artisan serve

访问:

http://127.0.0.1:8000/api/posts

2. 使用 Nginx(生产环境)

Nginx 配置示例:

server {
    listen 80;
    server_name api.example.com;
    root /var/www/api-demo/public;

    location / {
        try_files $uri /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php-fpm.sock;
    }
}

六、常用增强(推荐)

1. 使用 API 资源

php artisan make:resource PostResource

2. 使用 Sanctum 做接口鉴权

composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate

3. 返回统一格式

return response()->json([
    'code' => 0,
    'msg' => 'success',
    'data' => $post
]);

七、常见命令速查

php artisan route:list
php artisan make:controller
php artisan make:model
php artisan migrate
php artisan serve

如果你愿意,我可以:

  • 给你一个 完整 CRUD API 示例
  • 教你 Laravel + Vue / 小程序接口
  • 帮你配置 HTTPS + 域名部署

你现在是打算 本地学习 还是 服务器部署?

0 踩