欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java項(xiàng)目部署的完整流程(超詳細(xì)!)

 更新時間:2022年07月20日 09:37:01   作者:不平衡的叉叉樹  
我相信很多Java新手都會遇到這樣一個問題,跟著教材敲代碼,很容易,但是讓他完整的實(shí)現(xiàn)一個應(yīng)用項(xiàng)目卻不會,下面這篇文章主要給大家介紹了關(guān)于Java項(xiàng)目部署的完整流程,需要的朋友可以參考下

安裝JDK

目標(biāo)工作目錄

上傳JDK安裝包

先準(zhǔn)備好jdk安裝包

然后直接拖拉到當(dāng)前目錄下,實(shí)現(xiàn)文件上傳

解壓安裝包

解壓命令:  tar -xvf jdk-8u51-linux-x64.tar.gz

修改文件名稱:  mv jdk-8u51-linux-x64 jdk1.8

刪除安裝文件: rm -rf jdk-8u51-linux-x64.tar.gz

已經(jīng)解壓了安裝包,就可以將安裝包刪除了,然后修改一下文件名稱

測試JDK

安裝MariaDB數(shù)據(jù)庫

虛擬機(jī)測試

測試當(dāng)前虛擬機(jī)是否可以正確鏈接外網(wǎng)

 只要顯示上述內(nèi)容就可以了,不用等全部執(zhí)行完(費(fèi)時),鍵入Ctrl+C退出運(yùn)行即可.

下載MariaDB數(shù)據(jù)庫

命令:yum install mariadb-server

如果下載失敗,使用下面命令先清空已安裝的文件,然后重新下載:yum clean all

 鍵入y確認(rèn)下載.

安裝成功提示

數(shù)據(jù)庫啟動

    1.   啟動命令    [root@localhost src]# systemctl  start  mariadb
    2.   重啟命令    [root@localhost src]# systemctl  restart  mariadb
    3.   關(guān)閉命令    [root@localhost src]# systemctl  stop  mariadb
    4.   設(shè)定開機(jī)自起 [root@localhost src]# systemctl  enable mariadb 
    5.   關(guān)閉開機(jī)自起 [root@localhost src]# systemctl  disable mariadb 

初始化數(shù)據(jù)庫

命令: mysql_secure_installation

測試數(shù)據(jù)庫

命令:mysql -u root -p

鍵入密碼:root

MySQL數(shù)據(jù)庫遠(yuǎn)程訪問配置

此時應(yīng)該會報錯,繼續(xù)往下操作

鏈接數(shù)據(jù)庫的說明

說明:

1. 如果需要遠(yuǎn)程鏈接數(shù)據(jù)庫必須通過防火墻

2. 如果遠(yuǎn)程鏈接數(shù)據(jù)庫,數(shù)據(jù)庫中必須開啟遠(yuǎn)程訪問權(quán)限才行,否則拒絕鏈接.

 配置Linux數(shù)據(jù)庫權(quán)限

 可以將host字段下的localhost(其實(shí)哪一個都可以)修改為%.

切換數(shù)據(jù)庫mysql

切換mysql數(shù)據(jù)庫

修改數(shù)據(jù)庫表

查詢user表中的host/root/password

.將host=“localhost” 改為 “%” 

 刷新數(shù)據(jù)庫權(quán)限

配置Linux防火墻

檢查防火墻狀態(tài)

命令:firewall-cmd --state

防火墻配置

說明:防火墻中有一個配置文件,表示當(dāng)Linux系統(tǒng)啟動時防火墻應(yīng)該如何操作!!!

需求: 告訴linux系統(tǒng)以后開機(jī)不需要啟動防火墻

命令: systemctl disable firewalld.service

 開機(jī)啟動防火墻命令:systemctl enable firewalld.service

手動關(guān)閉防火墻

關(guān)閉防火墻:systemctl stop firewalld.service

開啟防火墻:systemctl start firewalld.service

手動開放防火墻端口

1). 檢查防火墻開放的端口

命令:firewall-cmd --list-ports

2).檢查端口是否開放

命令:firewall-cmd --query-port 80/tcp

3). 開啟防火墻

 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent

 4).移除端口

命令: firewall-cmd --zone=public --remove-port=9090/tcp --permanent

5).關(guān)于防火墻操作的解釋

–zone #作用域

–add-port=80/tcp #添加端口,格式為:端口/通訊協(xié)議

–remove-port=80/tcp #移除端口,格式為:端口/通訊協(xié)議

–permanent #永久生效,沒有此參數(shù)重啟后失效

6).重啟防火墻

命令:firewall-cmd --reload

數(shù)據(jù)庫遠(yuǎn)程測試

 現(xiàn)在應(yīng)該可以直接鏈接數(shù)據(jù)庫了

導(dǎo)入項(xiàng)目數(shù)據(jù)庫

導(dǎo)出數(shù)據(jù)庫

點(diǎn)擊備份操作

 選擇導(dǎo)出的位置

導(dǎo)入數(shù)據(jù)庫

1.右鍵點(diǎn)擊導(dǎo)入

2. 導(dǎo)入數(shù)據(jù)之后執(zhí)行刷新即可.

部署后臺服務(wù)器

創(chuàng)建目錄

創(chuàng)建images目錄,用于存放圖片等文件

修改后端相關(guān)地址

說明: 將來所有的圖片都會上傳到Linux的目錄中,所以需要進(jìn)行修改. 

項(xiàng)目打包

idea工具右邊有個maven,點(diǎn)擊打開項(xiàng)目的lifecycle,點(diǎn)擊install

說明: 如果打包問題,則檢查maven的配置!!!

上傳jar包

上傳剛剛已經(jīng)打包好的jar包

說明:

1. 在/usr/local/src/ 創(chuàng)建tomcats的目錄

2. 在tomcats內(nèi)上傳8091.jar包文件

項(xiàng)目發(fā)布

命令:java -jar 8091.jar

效果:

測試效果

1.檢查端口號是否正確

 2. 測試數(shù)據(jù)庫鏈接是否正常 如果出現(xiàn)如圖效果 ,則表示一切OK

Tomcat集群部署

準(zhǔn)備8092服務(wù)器

上面已經(jīng)準(zhǔn)備了8091的端口,現(xiàn)在再準(zhǔn)備一個8092端口,直接修改application.yml配置文件里的端口號為8092即可.然后再打包,再傳入Linux系統(tǒng).

發(fā)布命令

命令:java -jar 8091.jar & java -jar 8092.jar &

啟動成功之后,回車跳入Linux系統(tǒng).

弊端: 與當(dāng)前的Session綁定. 如果Session關(guān)閉,則服務(wù)器全部停止.

端口號占用問題

說明: 由于操作不當(dāng),可能導(dǎo)致前一個tomcat服務(wù)器沒有正常關(guān)閉.一直保留在內(nèi)存中.之后啟動必然報端口號占用.

查詢: java進(jìn)程命令 jps

關(guān)閉進(jìn)程項(xiàng)

說明: 如果需要關(guān)閉Linux系統(tǒng)中的進(jìn)程,則需要如下命令

語法: kill PID號

命令:

1. kill PID號 常規(guī)關(guān)閉進(jìn)程

2. kil -15 PID號 較為嚴(yán)格的關(guān)閉. (當(dāng)前的進(jìn)程被其他進(jìn)程引用 無法關(guān)閉)

3. kill -9 PID號 強(qiáng)制關(guān)閉進(jìn)程

訪問測試

說明: 切換8091/8092 檢查服務(wù)是否正常即可

Nginx  

Nginx介紹

Nginx (engine x) 是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了IMAP/POP3/SMTP服務(wù)。Nginx是由伊戈?duì)?middot;賽索耶夫?yàn)槎砹_斯訪問量第二的Rambler.ru站點(diǎn)(俄文:Рамблер)開發(fā)的,第一個公開版本0.1.0發(fā)布于2004年10月4日。

其將源代碼以類BSD許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、簡單的配置文件和低系統(tǒng)資源的消耗而聞名。2011年6月1日,nginx 1.0.4發(fā)布。

Nginx是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,中國大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。

特點(diǎn):

1.nginx 是反向代理服務(wù)器/web服務(wù)器

2.占用內(nèi)存少 不到2M tomcat 300-400M

3.并發(fā)能力強(qiáng) 3-5萬次/秒

tomcat并發(fā)能力 150-220次/秒 JVM調(diào)優(yōu)(增大運(yùn)行內(nèi)存) 1000次/秒

4.解析:

1.功能簡單 只做請求的"轉(zhuǎn)發(fā)"處理

2.開發(fā)語言 C語言

Nginx的代理機(jī)制

反向代理

反向代理服務(wù)器位于用戶與目標(biāo)服務(wù)器之間,但是對于用戶而言,反向代理服務(wù)器就相當(dāng)于目標(biāo)服務(wù)器,即用戶直接訪問反向代理服務(wù)器就可以獲得目標(biāo)服務(wù)器的資源。同時,用戶不需要知道目標(biāo)服務(wù)器的地址,也無須在用戶端作任何設(shè)定。反向代理服務(wù)器通??捎脕碜鳛閃eb加速,即使用反向代理作為Web服務(wù)器的前置機(jī)來降低網(wǎng)絡(luò)和服務(wù)器的負(fù)載,提高訪問效率。

總結(jié):

1. 代理服務(wù)器位于 用戶和服務(wù)器之間

2. 用戶以為代理服務(wù)器就是目標(biāo)服務(wù)器.

3. 用戶無需了解真實(shí)服務(wù)器地址.

4. 反向代理服務(wù)器保護(hù)了服務(wù)器端的信息 (服務(wù)器端代理)

正向代理

正向代理,意思是一個位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從目標(biāo)服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端。

特點(diǎn):

1. 代理服務(wù)器位于用戶與服務(wù)器之間

2. 用戶了解訪問的服務(wù)器到底是誰.(指定了訪問的服務(wù)器)

3. 只有用戶可以使用正向代理 (客戶端代理)

4. 正向代理保護(hù)了用戶的信息.

小結(jié):

1. 反向代理保護(hù)了服務(wù)器信息. 稱之為服務(wù)器端代理(業(yè)務(wù)數(shù)據(jù)獲取)

2. 正向代理保護(hù)了用戶的信息. 稱之為客戶端代理. (網(wǎng)絡(luò)出口)

3. 用戶每次請求幾乎都有正向和反向代理的影子.

前端項(xiàng)目發(fā)布

nginx目錄結(jié)構(gòu)說明

http {
	#每個服務(wù)都是一個server
    server {
    	#默認(rèn)監(jiān)聽80端口
        listen       80;
        #監(jiān)聽域名信息
        server_name  localhost;
		#具體反向代理服務(wù) / 默認(rèn)寫法
        location / {
        	#root 代理的是一個目錄
            root   html;
            #默認(rèn)訪問頁面
            index  index.html index.htm;
        }
	}
}

前端發(fā)布準(zhǔn)備工作

修改前端的main.js

修改AddItem.vue文件

前端打包操作

項(xiàng)目打包

查看打包目錄dist

上傳前端項(xiàng)目

將前端打包好的目錄dist上傳到指定的位置 /usr/local/nginx 目錄下,如圖所示.

修改hosts文件

路徑:C:\Windows\System32\drivers\etc

 修改文件內(nèi)容(注意權(quán)限問題):

127.0.0.1       localhost
::1             localhost
#圖片服務(wù)器域名
#127.0.0.1       image.jt.com
#前端域名地址
#127.0.0.1       web.jt.com
#后端域名地址
#127.0.0.1       manage.jt.com
 
#Linux系統(tǒng)配置 只對本機(jī)測試有效
192.168.126.129       image.jt.com
192.168.126.129       web.jt.com
192.168.126.129       manage.jt.com

配置前端反向代理

通過http://web.jt.com:80 訪問前端的靜態(tài)資源文件.修改nginx配置文件:

#配置前端服務(wù)器
	server {
		listen 80;
		server_name web.jt.com;
 
		location / {
			root dist;
			index index.html;
		}
	}

 刪除原來的配置文件,上傳修改之后的

重啟nginx服務(wù)(注意是在sbin目錄下重啟)

項(xiàng)目訪問

后端服務(wù)器發(fā)布

需求分析

說明: 前端項(xiàng)目 web.jt.com 向后端服務(wù)器 manage.jt.com 發(fā)送請求.

問題: 后端服務(wù)器有8091/8092都可以為用戶提供服務(wù).

難點(diǎn): 通過域名負(fù)載均衡一個服務(wù)器 為用戶提供數(shù)據(jù)支持.

配置tomcat集群

采用輪詢策略依次訪問服務(wù)器,實(shí)現(xiàn)負(fù)載均衡機(jī)制.如果各個服務(wù)器的性能不同,可以使用權(quán)重分配各個服務(wù)器的訪問次數(shù).

#一次請求,訪問一個服務(wù)器 集群的配置 負(fù)載均衡機(jī)制
	# upstream 集群的關(guān)鍵字.
	# tomcats 是集群的名稱 可以任意 xxxx
	# server  每個服務(wù)的地址
	# 默認(rèn)采用輪詢的策略,依次訪問服務(wù)器.
    # 使用權(quán)重分配各個服務(wù)器的訪問次數(shù),如下面一輪(3次訪問)下來,91訪問兩次,92訪問1次
	upstream tomcats {
		server   192.168.126.129:8091 weight=2;
		server   192.168.126.129:8092 weight=1;
	}
 
	
	#配置后端服務(wù)器 8091/8092
	#后端域名  manage.jt.com
	server {
		listen 80;
		server_name manage.jt.com;
 
		location / {
			#proxy_pass 反向代理服務(wù)器發(fā)起的是一個http請求,網(wǎng)址的代理
			proxy_pass  http://tomcats;
		}
	}

上傳文件重啟服務(wù)

修改了上面的配置文件之后,需刪除原有的文件,上傳修改之后的

重啟nginx服務(wù)器

負(fù)載均衡測試

輸入網(wǎng)址后,連續(xù)刷新3次頁面,可以得到前面兩次的端口號都是8091,最后一次是8092,這是一輪的結(jié)果

前后端聯(lián)調(diào) 

使用了nginx之后,不需要使用ip直接訪問服務(wù)器,而是使用了域名訪問,更便于用戶理解,保護(hù)了服務(wù)器信息.

圖片回顯

圖片請求說明

說明: 用戶請求網(wǎng)址 http://image.jt.com 要求代理到 /usr/local/src/images)(這就是目錄的代理)

配置圖片反向代理

說明: 修改配置文件成功之后,上傳nginx.conf文件 之后重啟服務(wù)器.

    #配置圖片反向代理  image.jt.com 
	server {
		listen 80;
		server_name image.jt.com;
		location / {
            #目錄的代理
			root /usr/local/src/images;
		} 
	}

圖片回顯操作

總結(jié)

到此這篇關(guān)于Java項(xiàng)目部署的完整流程的文章就介紹到這了,更多相關(guān)Java項(xiàng)目部署流程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot配置數(shù)據(jù)庫密碼加密的實(shí)現(xiàn)

    SpringBoot配置數(shù)據(jù)庫密碼加密的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot配置數(shù)據(jù)庫密碼加密的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Java List的sort()方法改寫compare()實(shí)現(xiàn)升序,降序,倒序的案例

    Java List的sort()方法改寫compare()實(shí)現(xiàn)升序,降序,倒序的案例

    這篇文章主要介紹了Java List的sort()方法改寫compare()實(shí)現(xiàn)升序,降序,倒序的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • SpringBoot在容器中創(chuàng)建實(shí)例@Component和@bean有什么區(qū)別

    SpringBoot在容器中創(chuàng)建實(shí)例@Component和@bean有什么區(qū)別

    這篇文章主要介紹了SpringBoot在容器中創(chuàng)建實(shí)例@Component和@bean有什么區(qū)別,在Spring Boot中,@Component注解和@Bean注解都可以用于創(chuàng)建bean。它們的主要區(qū)別在于它們的作用范圍和創(chuàng)建方式
    2023-03-03
  • Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析

    Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析

    這篇文章主要介紹了Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析,多態(tài)是面向?qū)ο缶幊陶Z言的重要特性,它允許基類的指針或引用指向派生類的對象,而在具體訪問時實(shí)現(xiàn)方法的動態(tài)綁定,需要的朋友可以參考下
    2024-01-01
  • 使用Java8中Optional機(jī)制的正確姿勢

    使用Java8中Optional機(jī)制的正確姿勢

    我們知道 Java 8 增加了一些很有用的 API, 其中一個就是 Optional,下面這篇文章主要給大家介紹了關(guān)于如何正確使用Java8中Optional機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-11-11
  • eclipse+myeclipse 環(huán)境配置方法

    eclipse+myeclipse 環(huán)境配置方法

    eclipse+myeclipse配置環(huán)境
    2009-07-07
  • 使用SpringBoot+AOP實(shí)現(xiàn)可插拔式日志的示例代碼

    使用SpringBoot+AOP實(shí)現(xiàn)可插拔式日志的示例代碼

    這篇文章主要介紹了使用SpringBoot+AOP實(shí)現(xiàn)可插拔式日志的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • IntelliJ IDEA中查看文件內(nèi)所有已聲明的方法(類似eclipse的outline)

    IntelliJ IDEA中查看文件內(nèi)所有已聲明的方法(類似eclipse的outline)

    今天小編就為大家分享一篇關(guān)于IntelliJ IDEA中查看文件內(nèi)所有已聲明的方法(類似eclipse的outline),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • JAVA動態(tài)維度笛卡爾積輸出的實(shí)現(xiàn)

    JAVA動態(tài)維度笛卡爾積輸出的實(shí)現(xiàn)

    本文主要介紹了JAVA動態(tài)維度笛卡爾積輸出的實(shí)現(xiàn),通過動態(tài)生成笛卡爾積,可以方便地處理多維數(shù)據(jù)集,提高數(shù)據(jù)處理效率,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Spring中@Configuration注解和@Component注解的區(qū)別詳解

    Spring中@Configuration注解和@Component注解的區(qū)別詳解

    這篇文章主要介紹了Spring中@Configuration注解和@Component注解的區(qū)別詳解,@Configuration 和 @Component 到底有何區(qū)別呢?我先通過如下一個案例,在不分析源碼的情況下,小伙伴們先來直觀感受一下這兩個之間的區(qū)別,需要的朋友可以參考下
    2023-09-09

最新評論