Linux的基礎指令和環境部署,項目部署實戰(下)

目錄

上一篇:Linxu的基礎指令和環境部署,項目部署實戰(上)-CSDN博客

1. 搭建Java部署環境

1.1 apt

apt常用命令

列出所有的軟件包

更新軟件包數據庫

安裝軟件包

移除軟件包

1.2?JDK

1.2.1. 更新

1.2.2. 安裝openjdk()

1.2.3.檢查安裝jdk成功

1.3 MySQL

1.3.1 使用apt安裝MySQL

1.3.2 查看MySQL狀態

1.3.3 設置密碼

? ? ? ? 1.3.3.1 連接mysql服務器

? ? ? ? 1.3.3.2 使用 alter user 命令修改密碼(自己能夠記住就行)

2.部署web項目到Linux

2.1 環境配置

2.1.1 數據準備

2.1.2 程序配置文件修改

2.1.3?多平臺文件配置

2.2 構建項目并打包

在本地使用maven進行打包

2.3?上傳Jar包到服務器, 并運行

1. 上傳Jar包直接拖動打好的jar包到xshell窗口即可完成文件的上傳

2. 安裝lrzsz

3.運行程序

4.開放端口

3.常見問題

1.檢查程序是否啟動

2.殺掉進程

1.查看目前的所有進程

2.殺死進程


上一篇:Linxu的基礎指令和環境部署,項目部署實戰(上)-CSDN博客

1. 搭建Java部署環境

1.1 apt

apt(Advanced Packing Tool),Linux軟件包管理工具。用于Ubuntu,Debian和相關的Linux發行版上安裝,更新,刪除和管理deb軟件包。

大多數 apt? 命令都要以有sudo權限的用戶運行。

apt常用命令
列出所有的軟件包

1. apt list

?這個命令輸出所有的工具包列表,內容非常多,可以用 grep 命令過濾。

????????1. apt list |grep "java"

更新軟件包數據庫

1. sudo apt-get update? #運行此命令時, 您將看到從各種服務器檢索到的軟件包信息.

實際上 apt 它通過維護一個軟件包的數據庫來管理和安裝軟件。這個數據庫包含了系統可用的軟件包及其版本信息。

如果數據庫沒有更新,系統將無法檢測到新的軟件包版本,也無法安裝或升級到最新的軟件。因此,在安裝Linux系統之后,更新APT數據庫是一個非常重要的步驟

如果切換到root用戶, 命令前就不需要加 sudo

切換root用戶

????????sudo su

安裝軟件包

sudo apt install package_name

移除軟件包

sudo apt remove package_name?

值得注意的是 remove命令會卸載掉特定的軟件包,但可能會留下配置文件,如果要把配置文件也徹底刪除?,就是用 purge 命令替代 remove

1.2?JDK

1.2.1. 更新

安裝之前都要執行一遍更新軟件包命令??sudo apt-get update

1.2.2. 安裝openjdk()

注意: 此處安裝的是OpenJDK, OpenJDK是一個開源版本的 JDK, 和 Oracle 官方的 JDK 略有差別. 此處我們就使用 OpenJDK 即可. 安裝 Oracle JDK 比較麻煩.

1.#查找jdk包

2.apt list |grep "jdk"

3.

4.#安裝jdk17

5. apt install openjdk-17-jdk

安裝過程輸入 y 確認

當跳出這個畫面就按回車就好,然后等待安裝;

1.2.3.檢查安裝jdk成功

?1. java -version? #查看jdk版本

當輸出jdk的版本,就說明你安裝jdk成功了

如果提示 "java 命令找不到" 則說明安裝失敗

1.3 MySQL

1.3.1 使用apt安裝MySQL

1. #查找安裝包
2. apt list |grep "mysql-server"
3. #安裝mysql
4. sudo apt install mysql-server

安裝流程與安裝jdk一致

1.3.2 查看MySQL狀態

1. sudo systemctl status mysql

????????執行結果

1.3.3 設置密碼
? ? ? ? 1.3.3.1 連接mysql服務器

1. sudo mysql

? ? ? ? 1.3.3.2 使用 alter user 命令修改密碼(自己能夠記住就行)

1? ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

????????執行結果(證明修改密碼成功)

2.部署web項目到Linux

2.1 環境配置

程序正常運行, 需要保證環境和程序都要正確, 我們需要先設置環境

2.1.1 數據準備

在服務器上的mysql數據上建立與項目一致的數據庫,數據可以不用同步,只要庫表結構一樣就好了。

2.1.2 程序配置文件修改

實際工作中,開發環境,測試環境和線上環境的配置是不一樣的

比如mysql的用戶名和密碼;

所以我們要針對不同的環境,設置不同的配置

2.1.3?多平臺文件配置

方法有很多種,這里我只舉例我使用的這一種

針對不同的平臺創建不同的配置文件,要求名字為

  • application.properties,
  • application-dev.properties,
  • application-test.properties;?

dev指的是開發環境的配置,test指的是線上環境的配置,固定格式,只有后面的字母可以修改,在不同的配置文件寫不同的內容(下面只是將數據庫的配置作為展示,如果自己還有其他配置,像:日志的存儲路徑,圖片的存取路徑都是要按這種方式修改的。)

application-dev.properties(開發環境的數據庫的配置)

application-test.properties(線上環境的數據庫的配置)

在主配置文件 application.properties 中指定配置文件為線上開發環境的配置

2.2 構建項目并打包

在本地使用maven進行打包

1. 如果Test代碼中有與環境配置相關的操作(比如數據庫相關的操作), 打包會失敗, 點擊下圖①處的圖標, 可以跳過測試。

2. 點擊clean->package

2.3?上傳Jar包到服務器, 并運行

1. 上傳Jar包
直接拖動打好的jar包到xshell窗口即可完成文件的上傳

問題: 如果執行上述命令之后, 提示 Command 'XX' not found , 表示當前云服務器未安裝lrzsz命令, 需要先進行安裝

2. 安裝lrzsz

1.? apt-get install lrzsz

3.運行程序

1.? nohup java -jar blog-spring-0.0.1-SNAPSHOT.jar &

nohup : 后臺運行程序. 用于在系統后臺不掛斷地運行命令,退出終端不會影響程序的運行.

4.創建相關數據庫表
連接mysql數據庫

mysql -uroot -p 回車 然后在命令行輸入密碼就可以了

看到一下界面就說明你連接數據庫成功

?連接數據庫成功之后,就可以去創建數據庫,表等內容,這里不在過多贅述;

如果你有完整的sql文件,執行SQL文件: 使用以下命令執行SQL文件:

source /path/to/yourfile.sql

例如,如果你的SQL文件位于/root目錄下,文件名為test.sql,則命令如下:?source /root/test.sql;

如果在當前工作路徑下,就直接source 文件名? 就可以了。

4.開放端口

如果外網需要訪問該服務, 需要先服務器防火墻開放對應的端口號,本著服務器安全的原則,云服務器上的端口非必要不開啟.

比如常見端口號: 數據庫 3306 , Redis 6379, 盡可能避免開放, 而是采用其他方式來連接, 比如配置隧道的方式。

以阿里云服務器為例子

進入實例的安全組界面,點擊安全組的管理規則

端口號寫需要開放的端口號, 多個端口號以逗號分割.?

3.常見問題

1.檢查程序是否啟動

ps -ef |grep "java"

2.殺掉進程

1.查看目前的所有進程

1.ps -ef |grep "java" (只查看名字包含java的程序)

執行結果中的29916,31709就是進程執行的端口號

2.殺死進程

1. kill -9? 端口號(29916)(強制殺死進程)

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

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

相關文章

【藍橋杯】第十五屆省賽大學真題組真題解析

【藍橋杯】第十五屆省賽大學真題組真題解析 一、智能停車系統 1、知識點 (1)flex-wrap 控制子元素的換行方式 屬性值有: no-wrap不換行wrap伸縮容器不夠則自動往下換行wrap-reverse伸縮容器不夠則自動往上換行 (2&#xff0…

flink operator v1.10對接華為云對象存儲OBS

1 概述 flink operator及其flink集群,默認不直接支持華為云OBS,需要在這些java程序的插件目錄放一個jar包,以及修改flink配置后,才能支持集成華為云OBS。 相關鏈接參考: https://support.huaweicloud.com/bestpracti…

免費PDF工具

Smallpdf.com - A Free Solution to all your PDF Problems Smallpdf - the platform that makes it super easy to convert and edit all your PDF files. Solving all your PDF problems in one place - and yes, free. https://smallpdf.com/#rappSmallpdf.com-解決您所有PD…

去中心化技術P2P框架

中心化網絡與去中心化網絡 1. 中心化網絡 在傳統的中心化網絡中,所有客戶端都通過一個中心服務器進行通信。這種網絡拓撲結構通常是一個星型結構,其中服務器作為中心節點,每個客戶端只能與服務器通信。如果客戶端之間需要通信,必須…

muduo源碼閱讀:linux timefd定時器

?timerfd timerfd 是Linux一個定時器接口,它基于文件描述符工作,并通過該文件描述符的可讀事件進行超時通知。可以方便地與select、poll和epoll等I/O多路復用機制集成,從而在沒有處理事件時阻塞程序執行,實現高效的零輪詢編程模…

Pinia 3.0 正式發布:全面擁抱 Vue 3 生態,升級指南與實戰教程

一、重大版本更新解析 2024年2月11日,Vue 官方推薦的狀態管理庫 Pinia 迎來 3.0 正式版發布,本次更新標志著其全面轉向 Vue 3 技術生態。以下是開發者需要重點關注的升級要點: 1.1 核心變更說明 特性3.0 版本要求兼容性說明Vue 支持Vue 3.…

【圖像處理 --- Sobel 邊緣檢測的詳解】

Sobel 邊緣檢測的詳解 目錄 Sobel 邊緣檢測的詳解1. 梯度計算2. 梯度大小3. 梯度方向4. 非極大值抑制5. 雙閾值處理6. 在 MATLAB 中實現 Sobel 邊緣檢測7.運行結果展示8.關鍵參數解釋9.實驗與驗證 Sobel 邊緣檢測是一種經典的圖像處理算法,用于檢測圖像中的邊緣。它…

LeetCode 熱題100 15. 三數之和

LeetCode 熱題100 | 15. 三數之和 大家好,今天我們來解決一道經典的算法題——三數之和。這道題在 LeetCode 上被標記為中等難度,要求我們從一個整數數組中找到所有不重復的三元組,使得三元組的和為 0。下面我將詳細講解解題思路&#xff0c…

基因組組裝中的術語1——from HGP

Initial sequencing and analysis of the human genome | Nature 1,分層鳥槍法測序hierarchical shotgun sequencing

安全開發-環境選擇

文章目錄 個人心得虛擬機選擇ubuntu 22.04python環境選擇conda下載使用: 個人心得 在做開發時配置一個專門的環境可以使我們在開發中的效率顯著提升,可以避免掉很多環境沖突的報錯。尤其是python各種版本沖突,還有做滲透工具不要選擇windows…

數字體驗驅動用戶參與增效路徑

內容概要 在數字化轉型深化的當下,數字內容體驗已成為企業與用戶建立深度連接的核心切入點。通過個性化推薦引擎與智能數據分析系統的協同運作,企業能夠實時捕捉用戶行為軌跡,構建精準的用戶行為深度洞察模型。這一模型不僅支撐內容分發的動…

Python 字符串(str)全方位剖析:從基礎入門、方法詳解到跨語言對比與知識拓展

Python 字符串(str)全方位剖析:從基礎入門、方法詳解到跨語言對比與知識拓展 本文將深入探討 Python 中字符串(str)的相關知識,涵蓋字符串的定義、創建、基本操作、格式化等內容。同時,會將 Py…

使用C++實現簡單的TCP服務器和客戶端

使用C實現簡單的TCP服務器和客戶端 介紹準備工作1. TCP服務器實現代碼結構解釋 2. TCP客戶端實現代碼結構解釋 3. 測試1.編譯:2.運行 結語 介紹 本文將通過一個簡單的例子,介紹如何使用C實現一個基本的TCP服務器和客戶端。這個例子展示了如何創建服務器…

Java Web開發實戰與項目——Spring Boot與Spring Cloud微服務項目實戰

企業級應用中,微服務架構已經成為一種常見的開發模式。Spring Boot與Spring Cloud提供了豐富的工具和組件,幫助開發者快速構建、管理和擴展微服務應用。本文將通過一個實際的微服務項目,展示如何使用Spring Boot與Spring Cloud構建微服務架構…

VMware建立linux虛擬機

本文適用于初學者,幫助初學者學習如何創建虛擬機,了解在創建過程中各個選項的含義。 環境如下: CentOS版本: CentOS 7.9(2009) 軟件: VMware Workstation 17 Pro 17.5.0 build-22583795 1.配…

Linux8-互斥鎖、信號量

一、前情回顧 void perror(const char *s);功能:參數: 二、資源競爭 1.多線程訪問臨界資源時存在資源競爭(存在資源競爭、造成數據錯亂) 臨界資源:多個線程可以同時操作的資源空間(全局變量、共享內存&a…

LD_PRELOAD 繞過 disable_function 學習

借助這位師傅的文章來學習通過LD_PRELOAD來繞過disable_function的原理 【PHP繞過】LD_PRELOAD bypass disable_functions_phpid繞過-CSDN博客 感謝這位師傅的貢獻 介紹 靜態鏈接: (1)舉個情景來幫助理解: 假設你要搬家&#x…

【無人集群系列---無人機集群編隊算法】

【無人集群系列---無人機集群編隊算法】 一、核心目標二、主流編隊控制方法1. 領航-跟隨法(Leader-Follower)2. 虛擬結構法(Virtual Structure)3. 行為法(Behavior-Based)4. 人工勢場法(Artific…

Oracle Fusion Middleware更改weblogic密碼

前言 當用戶忘記weblogic密碼時,且無法登錄到web界面中,需要使用服務器命令更改密碼 更改方式 1、備份 首先進入 weblogic 安裝目錄,備份三個文件:boot.properties,DefaultAuthenticatorInit.ldift,Def…

MongoDB 復制(副本集)

MongoDB 復制(副本集) 引言 MongoDB是一個高性能、可擴展、易于使用的文檔存儲系統。它以JSON-like的文檔存儲結構,支持靈活的數據模型。在分布式系統中,為了提高數據可用性和系統穩定性,常常需要實現數據的備份和冗余。MongoDB提供了副本集…