vue+springboot項目部署服務器

項目倉庫:vue+springboot-demo: vue+springboot增刪改查的demo (gitee.com)

①vue中修改配置

在public文件夾下新建config.json文件:

{"serverUrl": "http://localhost:9090"//這里localhost在打包后記得修改為服務器公網ip
}

然后修改main.js:

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import {zhCn} from "element-plus/es/locale/index";
import axios from "axios"
const app = createApp(App)
axios.get('/config.json').then((res)=>{app.config.globalProperties.$config=res.data
})
export const globals=app.config.globalProperties
app.use(router)
app.use(ElementPlus, {locale: zhCn,
})
app.mount('#app')

最后修改request.js:

import axios from "axios"
import {globals} from "@/main"
const serverUrl=globals.$config?.serverUrl||'http:localhost:9090'
const request=axios.create({baseURL:serverUrl,timeout:30000
})
request.interceptors.request.use(config=>{config.headers['Content-Type']='application/json;charset=utf-8'return config
},error=>{console.log('request error'+error)return Promise.reject(error)
})
request.interceptors.response.use(response=> {let res=response.datareturn res
},error=>{console.log('response error'+error)return Promise.reject(error)})
export default request

上述修改主要是動態辨別項目是在主機還是在服務器上,從而動態修改運行地址?

②打包vue+springboot項目?

springboot:先雙擊clean,再雙擊package,會生成jar包

?

vue:會生成一個dist文件夾

npm run build

?

③配置服務器

首先需要在騰訊云或者阿里云購買一個服務器,新用戶注冊會有免費一個月的服務器使用,然后需要準備xshell(相當于服務器的cmd)和winscp(上傳文件到服務器)工具,將兩個工具連上服務器

查看服務器內網ip:

ifconfig

用360壓縮打開jar包,修改application.yml:將localhost修改為服務器內網ip,username和password修改為服務器數據庫的username和password

server:port: 9090
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/demousername: rootpassword: 123456
mybatis:configuration:map-underscore-to-camel-case: true

用xshell7在服務器上創建一個vue3文件夾,并用winscp將dist文件夾和jar包拖入vue3文件夾中:

?

在服務器上安裝mysql:

①確定服務器的系統是否支持yum命令

輸入以下命令,不報錯即可:

yum -v

②下載對應的mysql 安裝包?

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

③安裝mysql?

yum -y install mysql57-community-release-el7-10.noarch.rpm

④?安裝對應的服務

yum -y install mysql-community-server --nogpgcheck

⑤啟動服務并查看Mysql 的初始密碼?

systemctl start mysqld.service #首先啟動mysql
grep "password" /var/log/mysqld.log #查看初始密碼

⑥修改初始密碼并刷新登錄

-- 1. 登錄MySQL
-- 回車后,輸入上面的初始密碼即可。
mysql -u root -p -- 2. 修改密碼
alter user 'root'@'localhost' identified by '密碼';-- 3. 刷新權限
flush privileges;-- 4.退出Mysql
exit
-- 1. 登錄(使用你的新密碼)
mysql -u root -p '新密碼'-- 2. 顯示所有的數據庫
show databases;+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)-- 3. 使用對應的數據庫改管理員信息
use mysql;-- 4. 查詢所有管理員
select user,host from user;+---------------+----------------+
| user          | host           |
+---------------+----------------+
| root          | %              |
| root          | 1**.2**.1**.67 |
| mysql.session | localhost      |
| mysql.sys     | localhost      |
+---------------+----------------+
4 rows in set (0.00 sec)

⑦給遠程權限

-- 1. 更新root的權限
update user set host='%' where user = 'root';-- 2. 設置完一定要刷新
flush privileges;-- 3. 再查詢一遍,檢查root的host變為%
select user,host from user;

?看見root的host為%就表示可以遠程連接數據庫了,在服務器打開3306端口就可以用navicat連接了

服務器上配置java環境:

?①去官網下載jdk壓縮包

②用winscp創建文件夾將壓縮包拖入,這里將壓縮包放入usr文件夾下的local文件夾下

?

③解壓文件并修改文件名

tar -xvf jdk-8u401-linux-x64.tar.gz
mv jdk1.8.0_401 jdk1.8

在winscp可以看見解壓后的文件:

④配置環境變量

vi /etc/profile

在該文件末尾添加下面代碼:先按esc,再按:wq保存推出

JAVA_HOME=/root/usr/local/jdk1.8
CLASS_PATH=.:$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASS_PATH PATH

?環境變量生效:

source /etc/profile

驗證一下:

java -version

顯示如圖,說明配置成功?

?

③后端項目部署

修改下pom.xml文件:添加下面代碼,重新打包上傳服務器

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><phase>package</phase><goals><goal>repackage</goal></goals></execution></executions><configuration><includeSystemScope>true</includeSystemScope><mainClass>這里填寫你的 Application 的路徑</mainClass></configuration></plugin></plugins></build>

用winscp在vue3文件夾新建一個start.sh:

nohup java -jar springboot-demo-0.0.1-SNAPSHOT.jar > server.log 2>&1 &

啟動一下(或者直接用命令java -jar jar包名直接啟動更加便捷):

cd vue3//進入文件夾
chmod 777 *//開放權限
./start.sh//啟動后端

用ll指令看下有沒有log文件,查看log文件(這是日志文件,會告訴你啟動成功還是失敗):

用winscp查看該文件:出現如圖說明啟動成功

?

服務器開放9090端口:直接用公網ip的9090端口訪問一下,出現如圖就說明后端項目部署成功了

④前端項目部署

?安裝nginx:

yum install gcc-c++//安裝c++
yum install -y pcre pcre-devel//安裝pcre
yum install -y zlib zlib-devel//安裝devel
yum install -y openssl openssl-devel//安裝openssl-devel
cd /tmp/
wget http://nginx.org/download/nginx-1.24.0.tar.gz//安裝nginx
tar -zxvf nginx-1.24.0.tar.gz
cd /usr/local
mkdir nginx
cd nginx
cp -R /tmp/nginx-1.24.0 ./
cd nginx-1.24.0
./configure --with-http_stub_status_module --with-http_ssl_module
make && make install
cd ..
cd sbin/
./nginx   //這里就啟動nginx了

訪問下公網ip:顯示下圖說明成功?

配置項目:

cd ..
cd conf
vi nginx.conf

將源文件對應代碼段修改如下:

server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /root/vue3/dist;//主要在這個地方修改為dist的路徑,其他地方不動index  index.html index.htm;}

重啟下nginx:

cd ..
cd sbin
./nginx -s reload

這里在訪問的時候可能會出現403 錯誤,開一下dist所在文件目錄的權限就好:

chmod -R 777 /root

訪問一下服務器:這里需要ctrl+鼠標左鍵刷新(強制緩存刷新)才顯示出來

整個前后端項目的部署到這里就差不多結束了?o(* ̄▽ ̄*)ブ

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715898.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715898.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715898.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[NSSCTF 2nd] web復現

1.php簽到 <?phpfunction waf($filename){$black_list array("ph", "htaccess", "ini");$ext pathinfo($filename, PATHINFO_EXTENSION);foreach ($black_list as $value) {if (stristr($ext, $value)){return false;}}return true; }if(i…

nginx 配置瀏覽器不緩存文件 每次都會從服務器 請求新的文件

目錄 解決問題方法說明 測試html環境js環境第一步然后修改內容 打開帶有js緩存的頁面強制刷新 配置nginx 每次打開頁面都會重新請求index.js 文件重啟nginx再次修改index.js 總結設置為全局 解決問題 適用于實時更新數據的&#xff0c;網頁 可以讓用戶每次都是重新請求&#x…

C語言中的套娃——函數遞歸

目錄 一、什么是遞歸 1.1.遞歸的思想 1.2.遞歸的限制條件 二、舉例體會 2.1.求n的階乘 2.2.順序打印整數的每一位 2.3.斐波那契數列 三、遞歸與迭代 一、什么是遞歸 在學習C語言的過程中&#xff0c;我們經常會跟遞歸打交道&#xff0c;什么是遞歸呢&#xff1f;它其實…

LNMP 架構

環境準備&#xff1a;lnmp 需要安裝 nginx mysql php 論壇/博客 軟件 使用LNMP架構搭建 論壇 1. 關閉防火墻和和核心防護 systemctl disable --now firewalld setenforce 0 2. 編譯安裝 nginx 安裝依賴包 yum -y install pcre-devel zlib-devel gcc gcc-c make 創建…

在Redhat 7 Linux上安裝llama.cpp [ 錯誤stdatomic.h: No such file or directory]

前期準備 在github上下載llama.cpp或克隆。 GitHub - ggerganov/llama.cpp: LLM inference in C/C ? git clone https://github.com/ggerganov/llama.cpp.gitcd llama.cpp 執行make命令編譯llama.cpp make 在huggingface里下載量化了的 gguf格式的llama2模型。 https:/…

每日一練:筆試題復盤-LeeCode原題-判斷二叉樹兩數之和-->找到滿足二叉樹兩數之和的所有路徑

用Java實現&#xff0c;給定一個二叉樹root和一個值 sum &#xff0c;找到從根節點到葉子節點的節點值之和等于 sum 的路徑。 1.該題路徑定義為從樹的根結點開始往下一直到葉子結點所經過的結點 2.葉子節點是指沒有子節點的節點 3.路徑只能從父節點到子節點&#xff0c;不能從子…

Compiling from source on UNIX(cmake doxygen ant maven ccache)

前言 源碼鏈接 cmake-3.18.0 https://cmake.org/files/v3.18/cmake-3.18.0.tar.gzdoxygen-1.10.0 https://www.doxygen.nl/files/doxygen-1.10.0.src.tar.gzapache-ant-1.10.8-bin https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.8-bin.tar.gzapache-maven-3…

#WEB前端(表單)

1.實驗&#xff1a; form、input、label 登錄界面&#xff0c;表單填寫界面 2.IDE&#xff1a;VSCODE 3.記錄&#xff1a; 4.代碼&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name&q…

RedisTemplate中opaForValue.set的注意之處

問題 原本寫了一個小項目&#xff0c;想通過redis緩存實現登錄退出功能&#xff0c;結果出現了莫名奇妙的問題 代碼如下&#xff1a; 報錯&#xff1a; 經過多次調試之后我發現是opsForValue.set(key,value,expireTime)這行代碼的問題&#xff0c;沒有指定過期時間的單位&…

備戰藍橋杯---動態規劃之懸線法

Em...屬于一知道就會&#xff0c;不知道的話比較難想。 我們先看題&#xff1a; 我們不妨把1抽象成一個平面上的點&#xff0c;因此可以變成這一幅圖&#xff1a; 我們假設每一個點被向上牽拉了一根線&#xff1a; 顯然&#xff0c;每一條懸線都有可能成為邊界限制&#xff0c…

JS值和引用

在javaScript中&#xff0c;數據類型整體上可以分為兩大類&#xff1a;基本數據類型和引用數據類型 基本數據類型&#xff1a; string , symbol , number , boolean , undefined , null 引用數據類型&#xff1a; object 1.簡單值&#xff08;原始值&#xff09; 由于簡單…

職業生涯知識回顧-關于抽象類和接口的思考

抽象類和接口是兩個很容易產生疑惑的概念&#xff0c;分不清它們的使用場景&#xff0c;其實只要記住兩點就比較好理解&#xff1a; 接口是對行為的抽象抽象類是對子類有哪些屬性和行為的抽象 當你需要對一個類有哪些行為進行約束時&#xff0c;使用接口&#xff1b;需要為其…

Bulingbuling - 《歷史的教訓》 [ The Lessons of History ]

《歷史的教訓》 兩位當代最偉大思想家的著名論文集&#xff0c;匯集了 5000 多年的歷史 作者&#xff1a;威爾-杜蘭特和阿里爾-杜蘭特 The Lessons of History The celebrated collection of essays compiling over 5,000 years of history by two of the greatest thinkers …

Spring Boot項目中不使用@RequestMapping相關注解,如何動態發布自定義URL路徑

一、前言 在Spring Boot項目開發過程中&#xff0c;對于接口API發布URL訪問路徑&#xff0c;一般都是在類上標識RestController或者Controller注解&#xff0c;然后在方法上標識RequestMapping相關注解&#xff0c;比如&#xff1a;PostMapping、GetMapping注解&#xff0c;通…

Siamrpn++論文中文翻譯(詳細!)

SiamRPN: Evolution of Siamese Visual Tracking with Very Deep Networks SiamRPN&#xff1a;具有非常深度網絡的Siamese視覺跟蹤的進化 【siamrpn論文地址】 https://arxiv.org/abs/1812.11703 摘要 基于Siamese網絡的跟蹤器將跟蹤表示為目標模板和搜索區域之間的卷積特征…

【STA】多場景時序檢查學習記錄

單周期路徑 建立時間時序檢查 在時鐘的有效沿到達觸發器之前&#xff0c;數據應在一定時間內保持穩定&#xff0c;這段時間即觸發器的建立 時間。滿足建立時間要求將確保數據可靠地被捕獲到觸發器中。 建立時間檢查是從發起觸發器中時鐘的第一個有效沿到捕獲觸發器中時鐘后面…

理解大模型的5個關鍵公式

理解大模型的5個關鍵公式_嗶哩嗶哩_bilibili PPT&#xff1a;https://link.excalidraw.com/p/readonly/aBWlNjEckdUlrszwwo6V

基于springboot+vue的社區醫院管理系統

博主主頁&#xff1a;貓頭鷹源碼 博主簡介&#xff1a;Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰&#xff0c;歡迎高校老師\講師\同行交流合作 ?主要內容&#xff1a;畢業設計(Javaweb項目|小程序|Pyt…

chatgpt-3的文章生成器有哪些?可以批量生成文章的生成器

GPT-3&#xff08;Generative Pre-trained Transformer 3&#xff09;作為人工智能領域的一項重大突破&#xff0c;開啟了新一代的文本生成技術。同時市面上也涌現出了一些GPT-3文章生成器&#xff0c;為用戶提供了快速、高效地生成各種類型文章的工具。本文將介紹一些中國的GP…

unity-unity2d基礎操作筆記(三)0.5.000

目標是:牢記以下137條操作,越級上升到中級階段 unity-unity2d基礎操作筆記(三) 一百零一、如何操作一個游戲物體由多個部分組成的動畫一百零二、如何使用rigidbody 2d進行物體移動一百零三、獲取游戲物體身上的組件方法一百零四、代碼控制物體朝向一百零五、不使用插件,純…