Laravel 部署到宝塔 一个api接口, 一个前端页面分成两个网站

本文介绍了在前后端分离的项目中,如何解决线上环境前端调用后端API接口的问题。通过在前端网站配置nginx代理,将abc.com的/api/请求转发到like.abc.com,实现跨域访问。同时提供了详细的Laravel项目上线部署步骤,包括环境配置、组件安装、数据库迁移、JWT和权限配置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

前端单独放了一个网站里(用的一级域名 => abc.com);

后端Laravel框架写的API接口也单独放了一个网站里(用的二级域名 => like.abc.com);

都是放在一个服务器里面的;


但是这么部署的话会有一个问题: 就是前端文件在本地的时候你可以直接代理API那里, 但是发布到线上abc.com那里后, 代理就失效了, 线上直接访问变成了 abc.com/api/list,  但是接口在like.abc.com/api/list里面, 这可怎么拿到数据呢?


方案

 点击abc.com这个网站配置一个nginx, 代理到like.abc.com这个网站上

     #代理请求地址
    location ^~/api/  
    {
      proxy_pass http://like.abc.com;
      add_header 'Access-Control-Allow-Origin' '*'; #解决跨域
      #rewrite ^/api/(.*)$ /$1 break; #删除配置前缀
    }
    
    #这是laravel部署nginx服务器配置的文件
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

配置完后需要重启nginx服务

然后应该就可以了

解析

laravel部署到宝塔  antDesignPro

二. 部署之后发布命令

安装(在laravel目录里面,  上面有个终端 ,在那里执行终端命令)

laravel 部署到宝塔

 

 

1. 安装组件:(针对服务器)

COMPOSER_MEMORY_LIMI-1 composer install

2. 创建 '.env':
cd .env.example .env

修改.env的配置, 主要是数据库配置
3. 发布DingoAPi配置

php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"

4. 发布JWT配置

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

5. 生成JWT TOKEN:

php artisan jwt:secret

6. 生成迁移文件

php artisan migrate

6. 生成权限迁移文件

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

7. 发布权限相关配置

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"

8. 运行迁移同时填充数据

php artisan migrate --seed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值