本地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.pswp.cn/news/900851.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900851.shtml
英文地址,請注明出處:http://en.pswp.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來上傳…