伺服器上詳細前後端分離項目搭建(springboot+vue)

来源:https://www.cnblogs.com/psfjc/archive/2022/05/13/16268566.html
-Advertisement-
Play Games

介紹:本文用的經典的前後端分離開源項目ruoyi Gitee鏈接地址:https://gitee.com/y_project/RuoYi 一、拉取項目: 利用Git把項目拉取到本地,也可以直接利用idea工具拉取,如圖點擊Get from VCS 填入遠程倉庫地址url,點擊clonde 等待一段時 ...


介紹:本文用的經典的前後端分離開源項目ruoyi

Gitee鏈接地址:https://gitee.com/y_project/RuoYi

一、拉取項目: 

利用Git把項目拉取到本地,也可以直接利用idea工具拉取,如圖點擊Get from VCS

 填入遠程倉庫地址url,點擊clonde

等待一段時間後項目會自動載入入idea工具中

二、準備項目所需環境的修改:

1、部署後端部分:

Ⅰ:後端部分項目配置文件的修改

進入ruoyi-admin中,打開yml配置文件,這裡有兩個yml文件,需要根據你自己的電腦做出相對應的修改

先點擊application-druid.yml這個配置文件,裡面配置很多,但是你只需要修改資料庫配置就行了。

這裡的資料庫地址如果改成你相對應的伺服器ip地址,用戶名,密碼根據自己的資料庫自行更改。

 然後在點擊application.yml這個配置文件,這個文件只需要修改redis配置就行了。

這裡填自己伺服器對應的IP,埠填自己伺服器對應的埠

 這裡運行項目的話會報幾個個錯誤,一個是log日誌地址錯誤,找不到路徑,還有就是資料庫連接,redis連接,因為這兩個這裡還沒有配置,放在後面配置

日誌地址錯誤:需要去對應的文件修改本機路徑:點擊logback.xml文件,修改日誌存放路徑到本機下,比如我的項目放在桌面上,然後在桌面建的一個log文件來存放log日誌。

你可以根據自己的需要做出相應的修改。

 

Ⅱ:進行項目打包,本文用的是jar包方式,也可以用war,道理是一樣的!

打包之前一定確認好自己redis、mysql中對應伺服器ip地址是否正確,用戶名、密碼是否正確等。

打包方式很簡單,ruoyi項目已經給我們加了maven打包依賴,不用我們手動添加了。

點擊右邊的maven--->在點擊package

 打包完成後、找到ruoyi-admin.jar包上傳到伺服器,我這裡上傳是用的Winscp工具。

 

 在伺服器根目錄創建一個java文件夾,把打包好的jar包存放到這裡

Ⅲ:安裝伺服器中jar包所需要的運行環境

1、安裝Jdk8:

這裡為了方便我們就用yum安裝方式安裝了。

1、先查看是否安裝了JDK

yum list installed |grep java

 2、卸載CentOS系統Java環境

yum -y remove java-1.8.0-openjdk* *代表卸載所有openjdk相關文件輸入

yum -y remove tzdata-java.noarch 卸載tzdata-java

3、查看JDK軟體包版本

yum -y list java*

4、查看JDK軟體包列表 安裝JDK

yum install -y java-1.8.0-openjdk* 自動安裝java1.8.0所有程式

控制台返回Complete安裝成功!!

2、安裝redis:

這裡也用yum安裝、預設安裝的埠是6379,這裡就不更改了!

yum install redis

啟動redis:

systemctl start redis

3、安裝mysql:

也用yum安裝、預設埠是3306

查看資料庫是否安裝:

yum list installed | grep mysql

使用yum安裝mysql資料庫

yum -y install mysql-server mysql mysql-devel

 命令將:mysql-server、mysql、mysql-devel都安裝好,當結果顯示為“Complete!即安裝完畢。

啟動mysql

systemctl start mysqld

安裝完成後,使用本地資料庫工具,Navicat 等等,連接到伺服器資料庫,創建ruoyi項目所需要的資料庫

導入相對於的表

 4、然後進入你存放jar包的位置,輸入命令:

前臺啟動:java -jar 項目名稱.java

後臺啟動:java -jar 項目名稱.java &

啟動成功後瀏覽器訪問後臺,輸入你的伺服器ip地址+埠號,這裡預設的埠號是8080

例如我的:192.168.44.128:8080

2、部署前端部分:

1、打開ruoyi-ui前端部分

 打開配置文件vue.config.js,修改其中target地址,此地址為你後端項目訪問地址:改成後端項目啟動瀏覽器訪問地址就行了。

 開始前端代碼部分打包,在ruoyi-ui模塊右擊,點擊open in打開終端!

先安裝項目依賴輸入:npm install

在進行項目打包:npm run build:prod

打包完成後會在項目ruoyi-ui目錄下生成一個dist文件!

把生成的dist文件準備好,進入伺服器,安裝nginx這裡也用yum方式安裝:

1、安裝 nginx

yum install -y nginx

安裝完成後nginx、會在相應目錄下生成配置文件等等

nginx 配置信息

1、網站文件存放預設位置(Welcome to nginx 頁面)

/usr/share/nginx/html

2、網站預設站點配置

/etc/nginx/conf.d/default.conf

3、自定義 nginx 站點配置文件存放目錄

/etc/nginx/conf.d/

4、nginx 全局配置文件

/etc/nginx/nginx.conf

5、啟動 nginx

service nginx start

6、關閉 nginx

service nginx stop

7、重啟 nginx

service nginx reload

在伺服器/root目錄下新建一個文件夾download,把打包生成的dist文件放到此目錄下

修改nginx配置文件:

1、cd /etc/nginx/

2、vim nginx.conf

在文件中加入此行配置,root下的項目路徑改為上面存放項目的路徑!!!!

location為轉發到後端路徑!!!保存!!!

 

 配置完成後啟動nginx

 cd /root/usr/sbin/  #進入此目錄下啟動nginx

./nginx       #啟動命令

瀏覽器訪問:IP+埠,nginx埠預設的是80

 

 

 

 

 啟動成功!!!!!!

本文用於學習,如有錯誤請糾正!!!!!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 5月12日晚上19點,知識賦能第五期第四節課《OpenHarmony標準系統多媒體子系統之音頻解讀》,在OpenHarmony開發者成長計劃社群內成功舉行。 ...
  • 大家好,我是半夏👴,一個剛剛開始寫文的沙雕程式員.如果喜歡我的文章,可以關註➕ 點贊 👍 加我微信:frontendpicker,一起學習交流前端,成為更優秀的工程師~關註公眾號:搞前端的半夏,瞭解更多前端知識! 點我探索新世界! 原文鏈接 ==>http://sylblog.xin/archi ...
  • 最近碰到了非同步編程的問題,決定從原理開始重新擼一遍,徹底弄懂非同步編程。 1.非同步編程思想 非同步編程是為瞭解決同步模式的一些痛點,同步模式中任務是依次執行,後一個任務必須要等待前一個任務結束後才能開始執行,當某個函數耗時過長時就可能造成頁面的假死和卡頓,而非同步編程中,後一個任務不會去等待前一個任務結束 ...
  • 《聲生不息》 是芒果TV、香港電視廣播有限公司和湖南衛視聯合推出的港樂競唱獻禮節目,聽著音樂仿佛回到了那個令人懷念的港風席卷整個亞洲的年代。該節目 Logo 採用經典紅藍配色,無限符號 ∞ 造型,滿滿的設計感。本文在僅採用原生 CSS 的情況下,儘量還原實現該 Logo 造型,本文內容雖然非常簡單,... ...
  • 翻譯自 Tim Sneath 2022年5月12日的文章 《Introducing Flutter 3》 作者 : Tim Sneath 翻譯 : 沙漠盡頭的狼(谷歌翻譯加持) 鏈接 : Introducing Flutter 3(英文原文) 我們在手機、桌面和網站開發上進行多平臺UI開發的歷程達到 ...
  • 1.“new”有什麼不對勁? 在我們沒有接觸到工廠模式(簡單工廠、工廠方法模式、抽象工廠模式)之前,我們實例化對象唯一的方法就是通過“new”關鍵字來完成。但是,大量的使用“new”關鍵字來實例化對象會違背一些設計原則,因為代碼與具體的類型綁在一起,從而導致過多的依賴於細節而非抽象,這樣代碼就很難適 ...
  • 到目前為止,我們知道Spring創建Bean對象有5中方法,分別是: 使用FactoryBean的getObject方法創建 使用BeanPostProcessor的子介面InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiati ...
  • package com.exception.demo01;public class demo01 { public static void main(String[] args) { try{new demo01().a();}//StackOverflowError異常 catch (Throwa ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...