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

<think>好的,用户询问如何在宝塔面板上部署HTTPS页面。首先,我需要回忆宝塔面板的相关操作步骤。根据引用内容,宝塔面板提供了SSL证书配置的向导,并且提到了强制HTTPS的选项。用户可能已经安装了宝塔面板,但需要具体指导如何配置HTTPS。 首先,我应该分解步骤。第一步通常是获取SSL证书,常见的方式有申请免费证书(如Let's Encrypt)或者上传已有的证书。引用3提到在宝塔面板中填写证书内容,所以用户需要知道在哪里上传或申请证书。 第二步是配置网站。用户需要进入宝塔面板的网站管理界面,找到对应的站点设置。这里可能需要编辑站点配置或直接使用SSL选项。引用2提到修改网站配置文件,但SSL配置可能有更直接的界面。 第三步是启用HTTPS并强制跳转。引用3指出勾选“强制HTTPS”可以实现跳转,需要确保用户知道这个选项的位置。 接下来,我要检查是否有遗漏的步骤,比如证书申请的具体流程,或者常见问题的解决方法。例如,证书申请可能需要域名验证,用户可能需要确认域名解析是否正确。此外,安装证书后测试HTTPS是否生效,以及如何处理证书续期问题。 用户可能遇到的困难包括证书申请失败、配置错误导致HTTPS无法访问,或者混合内容问题(HTTP资源在HTTPS页面加载)。需要提前提醒这些可能的问题和解决方法。 最后,生成相关问题需要考虑用户可能的后续需求,如优化SSL配置、解决重定向循环、证书续期自动化等。确保问题覆盖用户可能遇到的下一步挑战。</think>### 宝塔面板部署HTTPS页面教程 #### 步骤说明 1. **申请SSL证书** - 进入宝塔面板的「网站」管理界面,选择需要配置HTTPS的站点,点击「设置」。 - 在「SSL」选项卡中,选择「Let's Encrypt」,勾选域名并申请免费证书。若已有证书,可直接在「其他证书」中粘贴私钥(KEY)和证书(PEM)内容[^3]。 2. **配置HTTPS** - 证书申请成功后,系统会自动填充证书信息。点击「保存」后,HTTPS即生效。 - 测试访问:浏览器输入`https://你的域名`,若显示安全锁标志则表示配置成功[^3]。 3. **强制HTTPS跳转** - 在「SSL」选项卡底部勾选「强制HTTPS」,所有HTTP请求将自动重定向到HTTPS[^3]。 #### 代码示例(手动配置证书) ```nginx # 宝塔自动生成的SSL配置示例(位于站点配置文件中) server { listen 443 ssl http2; server_name example.com; ssl_certificate /www/server/panel/vhost/cert/example.com/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/example.com/privkey.pem; # 其他配置... } ``` #### 常见问题解决 - **证书不生效**:检查防火墙是否开放443端口,或域名解析是否正确。 - **混合内容警告**:确保网页内所有资源(如图片、CSS)均使用HTTPS链接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值