本地laravel项目【dcat-admin】部署到liunx服务器

文章目录

  • 前言
  • 一、部署流程
    • 1、数据库搬迁
    • 2、宝塔创建网站,配置php
    • 3、修改nginx配置
    • 4、在public目录设置软连接
    • 5、修改env配置、刷新缓存
  • 二、其他问题
    • 1.后台登陆失败问题
    • 2.完美解决接口跨域问题
  • 总结


前言

laravel新手记录

差不多一个月,总算用laravel把商城小程序开发好了【这个后面可以直接把代码分享出来】
一直在本地开发,现在需要部署到服务器上面和前端联调了
记录一下部署流程和遇到的问题

主要工具:
liunx服务器,已经安装宝塔或者lnmp环境
navicat(用于数据库迁移通过备份还原)


一、部署流程

1、数据库搬迁

把本地数据复制到服务器上面
方法很多,可以导出成sql在执行,我之前用的的中简单粗暴的方式,就是偶尔报错吧,并且执行时间很长,数据库很大还可能失败
最近发现navicat是可以备份一个数据库,然后在另一个数据库里面还原,前提是两个数据库名一样

【只有navicat学习交流版可以备份还原,navicat免费版不行】

具体操作:
先把本地数据库备份
在这里插入图片描述

顺便说下mysql5.7如何开启root账号远程登陆
找到mysql.user表,把root前面的host值,从localhost改成:%
这样表示允许所有ip访问了
改完后执行【FLUSH PRIVILEGES;】刷新权限

然后链接服务器数据库,新建一个一模一样的数据库,也备份一下
在这里插入图片描述
最后把本地备份的这个备份文件拷贝到服务器备份文件路径里面,选择这个本地备份,还原备份即可,这种方式需要本地和远程mysql版本一致

2、宝塔创建网站,配置php

由于我用的框架dcat-admin是比较新的代码【相对现在好像很老了】,需要安装php8.2
安装好了之后安装fileinfo扩展,好像装上就自己开启了
在这里插入图片描述

宝塔新建网站,选择php8.2创建,运行目录设置到public,或者网站目录直接设置到public,我感觉应该差不多吧?
这个防跨站攻击感觉可以关了,后面可能会报错,因为我们需要访问public目录之外的文件
在这里插入图片描述

3、修改nginx配置

可以设置伪静态,也可以直接在网站的nginx配置文件这里加上这一行

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

在这里插入图片描述
如果没有这个,访问网站就会返回404

4、在public目录设置软连接

默认后台上传图片是存储在这个目录的

/www/wwwroot/你的网站.cn/storage/app/public

但是我们网站运行目录是public目录,也就是和storage同级,可以创建一个软连接解决
有3种方式,前两种可能报错或者失败,第3种包成功
1、在网站根目录执行:php artisan storage:link
然后我报错了,说我php没有安装PHP的symlink模块,懒得装了,看第二种

2、使用命令:ln -s storage/app/public public/storage
没报错,但是路径不对,最好用完整路径,我当时没注意

3、直接去宝塔后台手动创建:
在这里插入图片描述
这个本质就是第二种,不过变成图形化操作了。
成功后会有这个特殊文件夹出现,这时直接访问/storage就是访问storage/app/public
解决很多图片路径问题导致404的情况

5、修改env配置、刷新缓存

这个时候打开你的env配置,把mysql链接密码改好、域名配好。

在网站根目录下执行这些,刷新所有缓存

php artisan config:clear
php artisan cache:clear
php artisan view:clear
php artisan route:clear//重启消息队列,如果更新了模型,消息队列使用了模型,就需要重启这个,重启nginx都没用
php artisan queue:restart

二、其他问题

1.后台登陆失败问题

env配置不开启https,网站通过https访问,但是请求登陆接口会使用http,这时候会出现跨域问题。
如果网站已经申请了https证书,就把配置文件也开启https,就可以了

如果你的dcat-admin版本也是:“dcat/laravel-admin”: “2.*”,
config文件夹里面文件都是默认值
可以参考这个env配置:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=false
ADMIN_HTTPS=falseAPP_URL=http://xinhu.com
IMAGE_URL='http://xinhu.com/storage'#后台路由域名
ADMIN_ROUTE_DOMAIN=""#后台路由前缀-加前缀后需要执行命令清除路由缓存
ADMIN_ROUTE_PREFIX=""#后台域名
ADMIN_DOMAIN=""

不要小瞧ADMIN_ROUTE_PREFIX=“”,之前没注释,我随手就填了我的域名,就没管了,干其他的去了,然后就出bug,菜单栏不见了,折磨了我1天时间,最后重新拉代码部署才好,然后一个一个排查才发现是这个配置项搞得鬼……

2.完美解决接口跨域问题

在这里插入图片描述


总结

话说现在在学dcat-admin算不算49年入国军,作者都跑路了,看官网都噶啦,文档、社区帖子也都是3年前的了。

本来用的thinkphp的,然后一个月前去官网想看个文档,才发现,现在看个文档都收费,新版的8收费就算了,甚至之前免费开源的3、5、6文档都收费,太离谱了就换laravel框架了。
刚刚去看,现在又可以免费看文档了,甚至thinkphp8都可以免费看了,不过感觉他们收费免费太随意了,喜欢瞎搞,先用着dcat-admin吧

好在还是留下了很多好用的插件,整个项目也很完善了,用起来还是嘎嘎不错的
下次分享一些好用的扩展和安装修改,比如日志查扩展引用cdn老是失效搞得访问界面错位

dcat-admin官方文档:https://learnku.com/docs/dcat-admin/2.x/use-of-fields/8107#162e7c
dcat-admin扩展集合:https://learnku.com/articles/70305

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/900851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医院导航系统方案:多模态三维导航引擎赋能医院智慧升级(二)

本文面向智慧医院建设方与算法研发工程师,聚焦解决多楼层复杂场景下的精准导航难题,提供从数学建模到工程落地的技术实战方案。 如需获取智慧医院导航导诊系统解决方案请前往文章最下方获取,如有项目合作及技术交流欢迎私信作者。 一、技术聚…

NO.84十六届蓝桥杯备战|动态规划-路径类DP|矩阵的最小路径和|迷雾森林|过河卒|方格取数(C++)

路径类dp是线性dp的⼀种,它是在⼀个nm的矩阵中设置⼀个⾏⾛规则,研究从起点⾛到终点的⽅案数、最⼩路径和或者最⼤路径和等等的问题 矩阵的最小路径和_牛客题霸_牛客网 状态表⽰: dp[i][j]表⽰:到达[i, j]位置处,最⼩…

openlayers入门01 -- 环境配置和初始化地图

openlayers入门 openlayers开发环境配置 1.下载VSCode 官网地址:https://code.visualstudio.com/ 点击Download for Windows 2.安装汉化插件和openlayers插件 搜索chinese,下载Chinese (Simplified) (简体中文) Language Pack 更改语言并重启 搜…

最新版DataGrip超详细图文安装教程,带补丁包(2025最新版保姆级教程)

目录 前言 一、DataGrip最新版下载 二、DataGrip安装 三、DataGrip补丁 四、运行DataGrip 前言 DataGrip 是由 JetBrains 公司开发的一款专业的跨平台数据库管理工具,主要用于连接、管理和操作多种主流关系型数据库及部分 NoSQL 数据库。它支持 MySQL、Postgre…

25年时代电服社招入职Verify测评SHL题库语言理解数字推理考什么?

宁德时代语言理解 语言理解部分主要考察应聘者的语言表达和逻辑思维能力,题型包括阅读理解、逻辑填空和语句排序。阅读理解要求应聘者快速捕捉文章的主旨和细节信息,能够迅速把握文章的核心观点;逻辑填空需要在给定的语句中填入最合适的词汇…

QML 弹窗控件:Popup的基本用法与样式

目录 引言相关阅读Popup基本属性工程结构示例实现Main.qml - 主界面SimplePopup.qml - 简单弹窗ModalPopup.qml - 模态弹窗CustomPopup.qml - 自定义样式弹窗AnimatedPopup.qml - 带动画的弹窗 总结工程下载 引言 在现代图形用户界面(GUI)开发中,弹窗(Popup)是一种…

SkyWalking + ELK 全链路监控系统整合指南

一、架构设计图 二、核心组件部署 1. SkyWalking 集群部署 yaml: # docker-compose-skywalking.yml version: 3.8services:oap:image: apache/skywalking-oap-server:9.7.0ports:- "11800:11800" # gRPC- "12800:12800" # HTTPenvironment:SW_STORAGE: …

DP主站如何华丽变身Modbus TCP网关!

DP主站如何华丽变身Modbus TCP网关! 在工业自动化领域,Profibus DP和Modbus TCP是两种常用的通信协议。Profibus DP通常应用于制造业自动化场景,而Modbus TCP则广泛使用于工业自动化和楼宇自动化等领域。为了实现这两种协议之间的互联互通&a…

AI | 字节跳动 AI 中文IDE编辑器 Trae 初体验

Trae 简介与安装 🔦 什么是 Trae Trae 是大厂字节跳动出品的国内首个 AI IDE,深度理解中文开发场景。AI 高度集成于 IDE 环境之中,为你带来比 AI 插件更加流畅、准确、优质的开发体验。说是能够不用写代码,全靠一张嘴跟 AI 聊天…

Web3 的云基础设施正在成型,Polkadot 2.0 用三项技术改写“上链成本”

在Web3基础设施内卷加剧的今天,“如何以更低成本、更大灵活性部署一条高性能应用链”正成为开发者们最关心的问题。而刚刚走出“技术慢热”误区的Polkadot,正在用一套名为 Polkadot 2.0 的架构升级方案,重新定义这一问题的解法。 这套升级最…

【Linux】39.一个基础的HTTP Web服务器

文章目录 1. 实现一个基础的HTTP Web服务器1.1 功能实现:1.2 Log.hpp-日志记录器1.3 HttpServer.hpp-网页服务器1.4 Socket.hpp-网络通信器1.5 HttpServer.cc-服务器启动器 1. 实现一个基础的HTTP Web服务器 1.1 功能实现: 总体功能: 提供We…

沐渥科技详解氮气柜操作指南

氮气柜是一种通过持续注入高纯度氮气,维持柜内惰性气体环境的设备,用于存储半导体晶圆或其他敏感元件,防止氧化、吸湿和污染。氮气柜操作指南是怎样的?下面沐渥小编给大家介绍一下。 一、操作前准备 (1)安全…

从零实现Agent智能体配置使用(Ragflow)

从零实现Agent智能体配置使用(Ragflow) 1. 创建智能体2. 配置智能体2.1 配置问题识别2.2 配置问题分类2.3 不同问题进行单独配置2.4 保存Agent 3. 体验效果 1. 创建智能体 2. 配置智能体 2.1 配置问题识别 2.2 配置问题分类 2.3 不同问题进行单独配置 当…

显示器各类异常处理方法

显示器各类异常处理方法 导航 文章目录 显示器各类异常处理方法导航画面无显示/黑屏/无HDMI信号输入显示器闪烁显示器花屏显示画面模糊或扭曲显示器颜色异常显示器出现死点或亮点 画面无显示/黑屏/无HDMI信号输入 ​ 首先应该检查的是显示器电源(真的有人弄掉电源…

原理剖析 + 实战教程 + 资源优化总结大模型微调实战:LoRA / QLoRA / PEFT 全解析,教你低成本玩转大模型微调

随着大语言模型(LLM)在自然语言处理各领域取得突破性进展,越来越多开发者和企业开始关注模型的微调方式。然而,全参数微调不仅成本高昂、资源要求极高,还容易引发过拟合与知识遗忘等问题。为此,LoRA、QLoRA…

Higress: 阿里巴巴高性能云原生API网关详解

一、Higress概述 Higress是阿里巴巴开源的一款基于云原生技术构建的高性能API网关,专为Kubernetes和微服务架构设计。它集成了Ingress控制器、微服务网关和API网关功能于一体,支持多种协议和丰富的流量管理能力。 发展历程 Higress 从最初社区的 Isti…

解决 IntelliJ IDEA 中 Maven 项目左侧项目视图未显示顶层目录问题的详细步骤说明

以下是解决 IntelliJ IDEA 中 Maven 项目左侧项目视图未显示顶层目录问题的详细步骤说明: 1. 切换项目视图模式 默认情况下,IDEA 的项目视图可能处于 Packages 模式,仅显示代码包结构,而非物理目录。 操作步骤: 点击…

【Vue-vue基础知识】学习笔记

目录 <<回到导览vue基础知识1.1.创建一个vue实例1.2.vue基础指令1.2.1.v-bind1.2.2.v-model1.2.3.常用事件1.2.4.指令修饰符 1.3.计算属性1.3.1.计算属性的完整写法1.3.2.【案例】成绩 1.4.watch1.4.1.watch属性1.4.2.翻译业务实现1.4.3.watch属性的完整写法1.4.4.【案例…

Element Plus 图标使用方式整理

Element Plus 图标使用方式整理 以下是 Element Plus 图标的所有使用方式&#xff0c;包含完整代码示例和总结表格&#xff1a; 1. 按需引入图标组件 适用场景&#xff1a;仅需少量图标时&#xff0c;按需导入减少打包体积 示例代码&#xff1a; <template><div>…

使用Scrapy官方开发的爬虫部署、运行、管理工具:Scrapyd

一般情况下&#xff0c;爬虫会使用云服务器来运行&#xff0c;这样可以保证爬虫24h不间断运行。但是如何把爬虫放到云服务器上面去呢&#xff1f;有人说用FTP&#xff0c;有人说用Git&#xff0c;有人说用Docker。但是它们都有很多问题。 FTP&#xff1a;使用FTP来上传…