快速搭建項目運行環境(JDK+Maven+Git+Docker+Mysql+Redis+Node.js+Nginx)+前后端項目分別部署

JDK

①、從oracle官方網站上下載1.8版本中的最新版的JDK https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
②、把文件通過WinSCP或者XFTP上傳到服務器上
③、解壓和配置環境變量

#進入安裝包目錄,解壓
cd /data/tmp
tar -zxvf jdk-8u261-linux-x64.tar.gz#把解壓出來的文件夾轉移到統一的地方
mv /data/tmp/jdk1.8.0_261 /data/service/jdk1.8.0_261#修改環境變量/etc/profile,JAVA_HOME修改為自己的jdk路徑。
vim /etc/profile
export JAVA_HOME=/data/service/jdk1.8.0_261
export PATH=$PATH:$JAVA_HOME/bin#使環境變量生效
source /etc/profile#檢查是否配置成功
java -version

Maven

①、從Maven官方網站上下載最新版的壓縮包 https://maven.apache.org/download.cgi
②、進行解壓和配置環境變量

#進入安裝包目錄,解壓
cd /data/tmp
tar -zxvf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 /data/service/#修改環境變量/etc/profile,MAVEN_HOME修改為自己的路徑。
export MAVEN_HOME=/data/service/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin#使環境變量生效
source /etc/profile#檢查是否配置成功
mvn -v

Git

①、從git官方網站上下載最新版的安裝包 https://git-scm.com/
②、安裝

#通過yum安裝,本方法最簡單。但是無法控制安裝的版本
yum -y install git#檢查是否配置成功
git --version

Docker

#卸載舊版本
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
#安裝 Docker Engine-Community
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

Mysql

①、安裝教程:https://www.runoob.com/mysql/mysql-install.html
②、下載地址:https://dev.mysql.com/downloads/mysql/
③、Mysql的可視化數據庫開發工具:Navicat Premium
④、docker中安裝MySql

#查看可用的 MySQL 版本
docker search mysql
#拉取5.7版本
docker pull mysql:5.7
#創建配置文件目錄
mkdir -p /data/docker/mysql/conf
#進入配置文件目錄,添加一個配置文件
vim my.cnf
#啟動鏡像
docker run -p 3306:3306 --name mysql -v /data/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=Vv0IBQ5qST -d mysql:5.7#進入docker容器設置env LANG=C.UTF-8
docker exec -it mysql env LANG=C.UTF-8 bash

Redis

①、安裝教程:https://www.runoob.com/redis/redis-install.html
②、下載地址:https://github.com/tporadowski/redis/releases
③、Redis可視化管理工具:[AnotherRedisDesktopManager]:(https://github.com/qishibo/AnotherRedisDesktopManager/releases)

docker pull redis:latest
docker run -itd --name redis-test -p 6379:6379 redis

Node.js

①、安裝教程:https://www.runoob.com/nodejs/nodejs-install-setup.html

tar xf node-v14.15.4-linux-x64.tar.xz       // 解壓
cd node-v14.15.4-linux-x64/                 // 進入解壓目錄
./bin/node -v                               // 執行node命令 查看版本//解壓文件的 bin 目錄底下包含了 node、npm 等命令,我們可以使用 ln 命令來設置軟連接:
mv /data/tmp/node-v14.15.4-linux-x64 /data/service/
ln -s /data/service/node-v14.15.4-linux-x64/bin/npm   /usr/local/bin/
ln -s /data/service/node-v14.15.4-linux-x64/bin/node   /usr/local/bin/

Nginx

#首先安裝nginx前置軟件
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
#下載nginx軟件安裝包
cd /data/tmp
wget http://nginx.org/download/nginx-1.19.6.tar.gz
tar -zxvf nginx-1.19.6.tar.gz
cd nginx-1.19.6
#設置安裝目錄為/usr/local/nginx
./configure --prefix=/usr/local/nginx
make
make install
#啟動nginx
/usr/local/nginx/sbin/nginx

以上基礎工具準備完畢,就可以從git倉庫clone下來源碼。

后端項目:

①、修改項目中的配置文件,配置文件有兩個。yml或者properties等數據源

②、修改好項目的配置文件之后,把入口項目進行打包。通過mvn打包成一個可執行的jar包

③、使用可視化數據庫開發工具 Navicat Premium,進行數據庫sql的執行

②、將jar上傳到服務器,并通過java命令行啟動

mkdir -p /data/app/xxxcp /data/gitee/xxx/xxx.jar /data/app/xxx/xxx.jarcd /data/app/xxx/nohup java -jar xxx.jar & #nohup和&用來表示本命令需要在后臺執行,這樣退出命令行程序后,java程序也不會停止

③、查看日志,驗證項目是否成功運行

前端項目:

①、git下載,cd進入項目目錄中

#本地啟動的話,可以在這里修改后端接口端口。如果是直接打包的話,不需要修改該配置文件
vim vue.config.js# 打包正式環境
npm run build:prod#把生成好的 dist 文件夾的靜態文件發布到你的 nginx 或者靜態服務器即可,其中的 index.html 是后臺服務的入口頁面。
vim /usr/local/nginx/conf/nginx.conf

nginx配置

location / {root   /data/app/ruoyi-ui;
try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:18081/;
}#重新加載配置文件nginx
/usr/local/nginx/sbin/nginx -s reload

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

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

相關文章

【AIGC】“光影交織的戀曲:絕美情侶在藍天下的深情互動“

外貌特征 (Physical Appearance):給遠景鏡頭,這對情侶擁有出眾的容貌和氣質。男子身材挺拔,五官立體鮮明,陽光灑在他俊朗的臉龐上,更顯英氣逼人;女子則擁有一頭柔順亮麗的秀發,明亮的眼睛如同星…

代碼隨想錄| 深搜、797.所有可能的路徑

回溯算法其實就是深搜&#xff0c;只不過這里的深搜是側重于在圖上搜索&#xff0c;回溯大多是在樹上搜索。 797.所有可能的路徑 完成 代碼 模板題 class Solution {List<List<Integer>> res new ArrayList<>();List<Integer> path new ArrayList…

GPT-4論文精讀【論文精讀·53】

Toolformer 今天我們來聊一下 GPT 4&#xff0c;但其實在最開始準備這期視頻的時候&#xff0c;我是準備講 Toolformer 這篇論文的&#xff0c;它是 Meta AI 在2月初的時候放出來的一篇論文。說這個大的語言模型可以利用工具了&#xff0c;比如說它就可以去調用各種各樣的API&a…

騰訊云優惠券領取的三個渠道,一個比一個優惠!

騰訊云代金券領取渠道有哪些&#xff1f;騰訊云官網可以領取、官方媒體賬號可以領取代金券、完成任務可以領取代金券&#xff0c;大家也可以在騰訊云百科蹲守代金券&#xff0c;因為騰訊云代金券領取渠道比較分散&#xff0c;騰訊云百科txybk.com專注匯總優惠代金券領取頁面&am…

Unity(第二十四部)UI

在游戲開發中&#xff0c;用戶界面&#xff08;UI&#xff09;是至關重要的一部分。它負責與玩家進行交互&#xff0c;提供信息&#xff0c;并增強游戲的整體體驗。Unity 提供了強大的工具和功能來創建和管理 UI。 ui的底層就是畫布&#xff0c;創建畫布的時候會同時創建一個事…

19.2 基于SpringBoot電商項目:一刷(????)

19.2 基于SpringBoot電商項目一刷 1. 項目介紹2. 準備階段2.1 idea插件2.2 log4j2日志整合1. 排除springweb依賴的Logback依賴2. 引入log4j2依賴3. log4j2.xml文件3. 用戶模塊3.1 統一響應對象1. 統一響應對象2. 異常信息枚舉類3. 簡單案例3.2 業務異常處理1. 自定義業務異常類…

python筆記_位運算

A&#xff0c;原碼反碼補碼 1&#xff0c;二進制 二進制的最高位是符號位&#xff0c;0為正&#xff0c;1為負 例 3 > 0000 0011 -3 > 1000 0011 2&#xff0c;正數 正數的原碼&#xff0c;反碼&#xff0c;補碼都一樣&#xff08;三碼合一&#xff09; 例 3 > 00…

docker 安裝(一)

docker的安裝 官方文檔&#xff1a;https://docs.docker.com/manuals/ 卸載舊版 首先如果系統中已經存在舊的docker&#xff0c;則先卸載&#xff1a;yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \dock…

C++ STL標準程序庫開發指南學習筆記

一、類模板簡介&#xff1a; 在現今的C標準模板庫中&#xff0c;幾乎所有的東西都被設計為template形式&#xff0c;不支持模板&#xff0c;就無法使用標準程序庫。模板庫可以認為是針對一個或多個尚未明確的類型而編寫一套函數或類型。模板是C的一個新特性。通過使用模板&…

【前端素材】推薦優質電商類后臺管理系統網頁Vuesax平臺模板(附源碼)

一、需求分析 在線后臺管理系統是指供管理員或運營人員使用的Web應用程序&#xff0c;用于管理和監控網站、應用程序或系統的運行和數據。它通常包括一系列工具和功能&#xff0c;用于管理用戶、內容、權限、數據等。下面是關于在線后臺管理系統的詳細分析&#xff1a; 1、功…

前端 css 實現標簽的效果

效果如下圖 直接上代碼&#xff1a; <div class"label-child">NEW</div> // css樣式 // 父元素 class .border-radius { position: relative; overflow: hidden; } .label-child { position: absolute; width: 150rpx; height: 27rpx; text-align: cente…

JavaScript中的this

在實際應用中&#xff0c;了解 this 的行為是非常重要的&#xff0c;特別是在編寫庫或框架時&#xff0c;或者當你需要在回調函數中訪問特定的上下文時&#xff0c;通常推薦使用箭頭函數或者其他方法來確保 this 的正確指向。 在ES6中&#xff0c;this 的值取決于它是如何被調用…

web服務器nginx下載及在win11的安裝

一.背景 還是為了公司安排的師帶徒任務。 操作系統版本&#xff1a;win11 家庭版 mginx版本&#xff1a;1.24.0 二.nginx版本選擇與下載 我之前也寫過下載nginx下載_ngnix stable 下載-CSDN博客 不想看尋找過程的&#xff0c;直接點這里去下載https://nginx.org/download…

Docker 使用原理流程

# docker 是如何來的&#xff1f; a. linux 內核本身支持容器技術&#xff0c;LXC (市面上有很多基于 LXC 開發的容器管理軟件&#xff0c;如創建容器&#xff0c;查看容器&#xff0c;管理容器&#xff0c; docker 作為管理容器的一款代表工具軟件) b. 容器的作用&#xff0c;…

利用python批量將.shp文件轉換坐標生成.geojson文件,再將.geojson轉換成.csv文件,最后將csv文件插入數據庫表

第一步&#xff1a;.shp批量轉.geojson # author: JMY # 創建時間: 2024/2/26 17:12 # 批量將.shp文件生成geojson文件并轉換坐標為3857import os import geopandas as gpd# 定義輸入和輸出文件夾路徑 input_folder shp文件 output_folder geojson文件# 定義輸入和輸出坐標系…

【王道操作系統】ch1計算機系統概述-04操作系統結構

文章目錄 【王道操作系統】ch1計算機系統概述-04操作系統結構操作系統的內核操作系統的體系結構考綱新增內容&#xff08;紅色為全新內容&#xff0c;黃色為原有內容&#xff09;&#xff1a;01 分層結構02 模塊化03 宏內核&#xff08;大內核&#xff09;和微內核04 外核 【王…

redis03 八種數據類型

思維草圖 String類型 字符串類型&#xff0c;是redis中最簡單的存儲類型&#xff0c;可以包含任何數據&#xff0c;例如jpg圖片或者序列化的對象等&#xff0c;底層都是以字節數組形式存儲&#xff0c;最大能存儲512MB的數據。 常用命令 KEY命名規范 加前綴&#xff0c;分…

802.11局域網的 MAC 幀

目錄 802.11 局域網的 MAC 幀 802.11 數據幀的三大部分 1.關于 802.11 數據幀的地址 最常用的兩種情況 2.序號控制字段、持續期字段和幀控制字段 802.11 局域網的 MAC 幀 802.11 幀共有三種類型&#xff1a;控制幀、數據幀和管理幀。 802.11 數據幀的三大部分 MAC 首部&…

總結springboot啟動jar,指定配置文件

第一&#xff1a;覆蓋 -- 覆蓋系統中的文件中的application-dev.yml文件&#xff0c;兩種指定方法都可以 springboot默認優先讀取application.properties>application.yml>指定文件(application-dev.yml) 公共配置可以在application.yml&#xff0c;其他配置在applicatio…

基于 STM32U5 片內溫度傳感器正確測算溫度

目錄預覽 1、引言 2、問題 3、小結 01 引言 STM32 在內部都集成了一個溫度傳感器&#xff0c;STM32U5 也不例外。這個位于晶圓上的溫度傳感器雖然不太適合用來測量外部環境的溫度&#xff0c;但是用于監控晶圓上的溫度還是挺好的&#xff0c;以防止芯片過溫運行。 02 問題…