教你如何將Web項目部署到Linux中

文章目錄

  • 前言
  • 0. 什么是部署
  • 1. 調整代碼達成一致
  • 2. 數據庫建表
  • 3. 構建項目并打包
  • 4. 拷貝到 Tomcat 中
  • 5. 效果
  • 總結


前言

在我們完成了一個Web項目后, 我們該怎樣將項目部署到 Linux 系統中呢? 本文就來簡單講解一下. 文章已部署本人的博客系統代碼展開講解.

關注收藏, 開始學習吧🧐


0. 什么是部署

工作中涉及到的 “環境”

  • 開發環境: 程序猿寫代碼用的機器.
  • 測試環境: 測試人員測試程序使用的機器. 一般是退役的部署機器.
  • 生產環境(線上環境): 最終項目發布時所使用的機器. 對穩定性要求很高.

把程序拷貝安裝到生產環境上, 這個過程稱為 “部署”. 也叫 “上線”.

這個過程需要拷貝對應的 .class 文件和依賴的資源文件(各種配置文件, html等) 一旦程序部署成功, 那么這個程序就能被外網中千千萬萬的普通用戶訪問到.

換句話說, 如果程序有 BUG, 這個 BUG 也就被千千萬萬的用戶看到了.

部署過程至關重要, 屬于程序開發中最重要的一環. 一旦部署出現問題, 極有可能導致嚴重的事故(服務器不可用之類的).

為了防止部署出錯, 一般公司內部都有一些自動化部署工具(如 Jenkins 等). 當前我們使用手工部署的方式來完成部署.

1. 調整代碼達成一致

之前的博客系統中的代碼, 連的是我們自己電腦中的 MySQL 數據庫, 現在要連接云服務器中的 MySQL, 我們就要將(ip, 端口號, 用戶名, 密碼 …) 都得和云服務器這邊的要求一致.

  • 在我的代碼中, IP不必修改, 部署上去之后, 博客系統程序與數據庫服務器也是在同一個主機上的. 仍然可以用 127.0.0.1 來訪問.
  • 端口號也不必修改.
  • 用戶名也不必修改, 默認都是 root.
  • 密碼需要修改, 由于我的電腦中數據庫是有密碼的, 而云服務器中沒有.

在這里插入圖片描述

2. 數據庫建表

由于云服務器中的數據庫沒有我們電腦上的數據庫數據, 需要按照之前的數據庫建表腳本, 在服務器上運行, 建立相同的表結構.
在這里插入圖片描述

3. 構建項目并打包

使用 Maven 進行打包. 在 pom.xml 中修改打包方式, 并制定包名.

    <packaging>war</packaging><build><finalName>blog_system</finalName></build>

雙擊 Maven 中的 package.
在這里插入圖片描述

可以看到打包成功了.
在這里插入圖片描述

4. 拷貝到 Tomcat 中

接下來我們把 war 包拷貝到 Tomcat 中的 webapp 目錄下.

在這里插入圖片描述
如果 Tomcat 正在運行, 就能夠自動的進行解壓縮和部署.

5. 效果

以上部署完成后, 就可以在瀏覽器上訪問項目的鏈接了. (按照項目的功能進行驗證).

一個簡易的博客系統.

有興趣登錄查看的讀者, 可以使用 賬號lisi 密碼123 訪問.


總結

? 本文主要講解了一個 Web 項目該如何部署到 Linux 當中.
? 想了解更多知識, 請持續關注博主, 本人會不斷更新學習記錄, 跟隨我一起不斷學習.
? 感謝你們的耐心閱讀, 博主本人也是一名學生, 也還有需要很多學習的東西. 寫這篇文章是以本人所學內容為基礎, 日后也會不斷更新自己的學習記錄, 我們一起努力進步, 變得優秀, 小小菜鳥, 也能有大大夢想, 關注我, 一起學習.

再次感謝你們的閱讀, 你們的鼓勵是我創作的最大動力!!!!!

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

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

相關文章

NeurIPS 2023 | RGIB:對抗雙邊圖噪聲的魯棒圖學習

? 摘要 鏈接預測[1,2]是圖學習的一種基礎任務&#xff0c;用于判斷圖中的兩個節點是否可能相連&#xff0c;被廣泛應用于藥物發現、知識圖譜補全和在線問答等實際場景。盡管圖神經網絡&#xff08;Graph Neural Network&#xff0c;GNN&#xff09;在該問題的性能上取得了顯著…

機器學習的概念和類型

1、人工智能、機器學習、深度學習之間的關系 人工智能&#xff08;AI&#xff09;是廣泛的概念&#xff0c;指賦予計算機智能特性。機器學習&#xff08;ML&#xff09;是AI的一個分支&#xff0c;是指通過計算機學習和改進性能。深度學習&#xff08;DL&#xff09;是ML的一類…

搭個網頁應用,讓ChatGPT幫我寫SQL

大家好&#xff0c;我是凌覽。 開門見山&#xff0c;我搭了一個網頁應用名字叫sql-translate。訪問鏈接掛在我的個人博客(https://linglan01.cn/about)導航欄&#xff0c;也可以訪問https://www.linglan01.cn/c/sql-translate/直達sql-translate。 它的主要功能有&#xff1a;…

第95步 深度學習圖像目標檢測:Faster R-CNN建模

基于WIN10的64位系統演示 一、寫在前面 本期開始&#xff0c;我們學習深度學習圖像目標檢測系列。 深度學習圖像目標檢測是計算機視覺領域的一個重要子領域&#xff0c;它的核心目標是利用深度學習模型來識別并定位圖像中的特定目標。這些目標可以是物體、人、動物或其他可識…

Docker Swarm總結(1/3)

目錄 1、swarm 理論基礎 1.1 簡介 1.2 節點架構 1.3 服務架構 1.4 服務部署模式 2、swarm 集群搭建 2.1 需求 ?2.2 克隆主機 2.3 啟動5個docker宿主機 2.4 查看 swarm 激活狀態 2.5 關閉防火墻 2.6 swarm 初始化 2.7 添加 worker 節點 2.8 添加 manager 節點 3、…

Mybatis-Plus3.0默認主鍵策略導致自動生成19位長度主鍵id的坑

碼字不易&#xff0c;如果對您有用&#xff0c;求各位看官點贊關注~ 原創/朱季謙 目前的Mybatis-Plus版本是3.0&#xff0c;至于最新版本是否已經沒有這個問題&#xff0c;后續再考慮研究。 某天檢查一位離職同事寫的代碼&#xff0c;發現其對應表雖然設置了AUTO_INCREMENT自…

7.1 Windows驅動開發:內核監控進程與線程回調

在前面的文章中LyShark一直在重復的實現對系統底層模塊的枚舉&#xff0c;今天我們將展開一個新的話題&#xff0c;內核監控&#xff0c;我們以監控進程線程創建為例&#xff0c;在Win10系統中監控進程與線程可以使用微軟提供給我們的兩個新函數來實現&#xff0c;此類函數的原…

H3C路由器基本配置命令

1、system-view 進入系統視圖 2、sysname R1 配置路由器名字為R1 3、display clock 查看當前系統時間 4、clock datetime 00:00:00 2/26/2023 用戶模式下修改系統時間 配置控制臺密碼 Console&#xff1a; 1、user-interface aux0 在系統模式下進入圖接口 2、authentication-mo…

2023亞太賽c題完整思路數據 數學建模亞太

Question 1: Analyze the main factors that affect the development of new energy electric vehicles in China, establish a mathematical model, and describe the impact of these factors on the development of new energy electric vehicles in China. 問題1:分析影響…

office 365企業版安裝教程

1.下載所需工具&#xff08;防火墻和防毒軟件記得關閉&#xff09; 下載鏈接&#xff1a;所需文件 2.安裝激活office 1.安裝 office tool plus 2.已安裝過office 先進行office的移除&#xff0c;再進行未安裝office的步驟進行 3.未安裝過office 1.設置部署 按照以下來進行安…

Linux命令(130)之hwclock

linux命令之hwclock 1.hwclock介紹 linux命令hwclock是用來顯示硬件時鐘 2.hwclock用法 hwclock [參數] hwclock參數 參數說明-s讓系統時間同步硬件時間-w讓硬件時間同步系統時間 3.實例 3.1.同步服務器時鐘時間 命令&#xff1a; ntpdate pool.ntp.org [rootrhel77 ~…

【vin 國標正則校驗】

規則一 var checkVINfunction(VIN){if(typeof(VIN)!string) return false;if(VIN.length!17) return false;VINVIN.toUpperCase();RE/^[A-HJ-NPR-Z\d]{8}[X\d][A-HJ-NPR-Z\d]{3}\d{5}$/if(!RE.test(VIN)) return false;let cOT{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:1,B…

360:流氓or保家衛國的勇士?

你曾用過360嗎&#xff0c;這個在國內名聲不好的殺毒軟件&#xff0c;卻是令國外黑客聞風喪膽的存在。 首先&#xff0c;在電腦病毒剛興起的年代&#xff0c;殺毒軟件是要收費的&#xff0c;當時盛行的瑞星和金山就是采用的付費模式&#xff0c;而就在2006年&#xff0c;奇虎…

C/C++通過位操作實現2個uint32_t合并為uint64_t

#include <iostream> using namespace std;int main() {uint32_t a 10;uint32_t b 600;//先將uint32_t的a轉為uint64_t&#xff0c;此時a前面32位都是0&#xff0c;然后左移32位&#xff0c;此時右32位為0&#xff0c;最后加上uint32_t類型的b&#xff0c;填充右32位的…

解決Activiti5.22流程圖部署在Windows上正常,但在linux上部署后出現中文變方塊的問題

總結/朱季謙 樓主最近在做公司的工作流平臺&#xff0c;發現一個很無語的事情&#xff0c;Activiti5.22的流程圖在Windows環境上部署&#xff0c;是可以正常查看的&#xff0c;但發布到公司的Linux服務器上后&#xff0c;在上面進行流程圖在線部署時&#xff0c;發現中文都變成…

2023亞太杯數學建模C題思路代碼 - 我國新能源電動汽車的發展趨勢

1 賽題 問題C 我國新能源電動汽車的發展趨勢 新能源汽車是指以先進技術原理、新技術、新結構的非常規汽車燃料為動力來源( 非常規汽車燃料指汽油、柴油以外的燃料&#xff09;&#xff0c;將先進技術進行汽車動力控制和驅動相結 合的汽車。新能源汽車主要包括四種類型&#x…

一套開源、強大且美觀的WPF UI控件庫 - HandyControl

前言 今天給大家推薦一套開源、強大且美觀的WPF UI控件庫&#xff1a;HandyControl。 WPF介紹 WPF 是一個強大的桌面應用程序框架&#xff0c;用于構建具有豐富用戶界面的 Windows 應用。它提供了靈活的布局、數據綁定、樣式和模板、動畫效果等功能&#xff0c;讓開發者可以創…

關于Redis底層的兩個問題

1. 為什么Redis不共享包含字符串的對象&#xff1f; 當服務器考慮將一個共享對象設置為鍵的值對象時&#xff0c;程序首先需要檢查給定的共享對象和鍵想要創建的目標對象是否完全相同&#xff0c;只有在共享對象和目標對象完全相同的情況下&#xff0c;程序才會將共享對象用作…

SOEM主站開發篇(3):為APP程序添加命令

0 工具準備 1.SOEM-1.4.0源碼(官網:http://openethercatsociety.github.io/) 2.Linux開發板(本文為正點原子I.MX6U ALPHA開發板) 3.交叉編譯工具(arm-linux-gnueabihf-gcc) 4.cmake(版本不得低于3.9,本文為3.9.2) 5.Ubuntu 16.04(用于編譯生成Linux開發板的可執行文…

【追求卓越06】算法--遞歸

引導 遞歸算法算是我們比較常用的一種算法。但是想用好并不簡單。本章我不再介紹簡單的概念&#xff0c;主要講解遞歸算法的優缺點和如何用遞歸寫代碼。 個人愛好 其實相對于使用while循環&#xff0c;我更喜歡使用遞歸算法。為什么呢&#xff1f; 使用遞歸算法代碼往往會變…