SpringBoot多模塊項(xiàng)目部署全過程
1.安裝Nginx
- 在服務(wù)器里安裝Nginx,主要用于部署前端頁(yè)面靜態(tài)文件服務(wù)和反向代理
配置Nginx yum儲(chǔ)存庫(kù)
1.使用MobaXterm工具連接服務(wù)器,在終端使用vim創(chuàng)建存儲(chǔ)庫(kù)文件
vim /etc/yum.repos.d/nginx.repo
2.配置nginx.repo文件內(nèi)容
- 點(diǎn)擊
i進(jìn)入編輯模式,輸入文件內(nèi)容 - 點(diǎn)擊
Esc退出編輯模式 - 點(diǎn)擊
:或/進(jìn)入命令行模式,然后輸入wq進(jìn)行保存文件
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
3.在服務(wù)器里使用yum命令安裝Nginx
yum -y install nginx

4.檢查Nginx安裝狀態(tài)
- 檢查nginx運(yùn)行狀態(tài)
systemctl status nginx

- 設(shè)置nginx開機(jī)自啟
systemctl enable nginx

5.啟動(dòng)Nginx
- 沒有返回值就是正常的
systemctl start nginx
6.在瀏覽器里訪問Nginx地址
- 地址是服務(wù)器的地址,端口號(hào)默認(rèn)是8080(可省略)
http://192.168.xx.xxx

2.Nginx重要目錄介紹
配置文件相關(guān)
/etc/nginx/:主要的Nginx配置文件目錄。
nginx.conf文件:Nginx的主配置文件,包含全局配置信息。

在http模塊里include引入了/etc/nginx/conf.d目錄下的所有.conf文件
該文件server模塊用于配置虛擬主機(jī),一個(gè)Nginx服務(wù)可包含多個(gè)虛擬主機(jī),每個(gè)虛擬主機(jī)都可以獨(dú)立的提供服務(wù)

日志相關(guān)
/var/log/nginx/:Nginx的日志文件目錄,包括訪問日志和錯(cuò)誤日志。
access.log文化:訪問日志,記錄所有進(jìn)入服務(wù)器的請(qǐng)求。error.log文件:錯(cuò)誤日志,記錄服務(wù)器處理過程中的錯(cuò)誤信息。
3.部署項(xiàng)目
前端代碼部署
1.將前端代碼打包的zip文件上傳到服務(wù)器里,然后解壓到到/usr/share/nginx/html中
unzip 前端代碼.zip -d /usr/share/nginx/html
2.配置Nginx虛擬主機(jī)
- 由于
nginx.conf文件配置內(nèi)容中使用include引入了conf.d目錄下的所有.conf文件,所以在虛擬機(jī)conf.d/目錄下創(chuàng)建前端虛擬機(jī)配置文件
vim /etc/nginx/conf.d/文件名.conf
3.在創(chuàng)建的文件里添加配置
server {
listen 9090;
server_name www.zhaojun.com;// 這里是購(gòu)買的域名
# 配置前端代碼
location / {
root /usr/share/nginx/html/文件名;# 代碼路徑
index index.html;
}
# 配置反向代理,當(dāng)前端請(qǐng)求后端api時(shí),以api開頭的代理到后端服務(wù)器上
location /api/ {
# 轉(zhuǎn)發(fā)到后端服務(wù)器
proxy_pass http://后端代碼部署IP地址:8080/;
# 重要:傳遞真實(shí)客戶端信息
proxy_set_header Host $host;# 建議
proxy_set_header X-Real-IP $remote_addr;# 建議
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 可選
proxy_set_header X-Forwarded-Proto $scheme;# 可選
}
}
4.然后重新加載Nginx的配置文件
systemctl reload nginx
5.訪問www.zhaojun.com:9090就可以看到部署的項(xiàng)目了
后端部署
1.使用Maven打包后端代碼
找到要打包項(xiàng)目的Maven進(jìn)行項(xiàng)目打包
選中clean和package后點(diǎn)擊運(yùn)行按鈕進(jìn)行打包


2.在部署后端代碼的服務(wù)器上安裝JDK
- 根據(jù)自己項(xiàng)目安裝對(duì)應(yīng)的JDK
wget https://builds.openlogic.com/downloadJDK/openlogic-openjdk/21.0.5+11/openlogic-openjdk-21.0.5+11-linux-x64.tar.gz

- 將JDK解壓到/opt目錄
tar -zxvf openlogic-openjdk-21.0.5+11-linux-x64.tar.gz -C /opt

3.將打包的后端代碼放到opt/lease目錄下,若目錄不存在,自行創(chuàng)建即可

4.集成Systemd方便項(xiàng)目的啟動(dòng)、停止或者重啟
- 創(chuàng)建
lease-admin.service文件
vim /etc/systemd/system/lease-admin.service
- 添加內(nèi)容
[Unit] Description=lease-admin After=syslog.target [Service] User=root ExecStart=/opt/jdk-17.0.8/bin/java -jar /opt/lease/web-admin-0.0.1-SNAPSHOT.jar 1>/opt/lease/admin.log 2>&1 SuccessExitStatus=143 [Install] WantedBy=multi-user.target
5.啟動(dòng)項(xiàng)目
systemctl start lease-admin
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java?定時(shí)任務(wù)技術(shù)趨勢(shì)詳情
這篇文章主要介紹了Java?定時(shí)任務(wù)技術(shù)趨勢(shì)詳情,定時(shí)任務(wù)是每個(gè)業(yè)務(wù)常見的需求,比如每分鐘掃描超時(shí)支付的訂單,每小時(shí)清理一次數(shù)據(jù)庫(kù)歷史數(shù)據(jù),每天統(tǒng)計(jì)前一天的數(shù)據(jù)并生成報(bào)表等,下文更多相關(guān)資料,需要的小伙伴可以參考一下2022-05-05
SpringBoot整合Redisson的步驟(單機(jī)版)
Redisson非常適用于分布式鎖,而我們的一項(xiàng)業(yè)務(wù)需要考慮分布式鎖這個(gè)應(yīng)用場(chǎng)景,于是我整合它做一個(gè)初步簡(jiǎn)單的例子(和整合redis一樣)。2021-05-05
Java enum關(guān)鍵字不識(shí)別的快速解決辦法
這篇文章主要介紹了Java enum關(guān)鍵字不識(shí)別的快速解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-09-09
Mybatis-plus基于redis實(shí)現(xiàn)二級(jí)緩存過程解析
這篇文章主要介紹了Mybatis-plus基于redis實(shí)現(xiàn)二級(jí)緩存過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
SpringBoot + JPA @ManyToMany的操作要點(diǎn)說明
這篇文章主要介紹了SpringBoot + JPA @ManyToMany的操作要點(diǎn)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
java 中JDBC連接數(shù)據(jù)庫(kù)代碼和步驟詳解及實(shí)例代碼
這篇文章主要介紹了java 中JDBC連接數(shù)據(jù)庫(kù)代碼和步驟詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02

