網(wǎng)站備案沒公司網(wǎng)絡口碑營銷的成功案例
部署項目 liunx
軟件安裝
軟件安裝方式
在Linux系統(tǒng)中,安裝軟件的方式主要有四種,這四種安裝方式的特點如下:
建議nginx、MySQL、Redis等等使用docker安裝,會很便捷,這里只演示JDK、ngxin手動的安裝
安裝JDK
上述我們介紹了Linux系統(tǒng)軟件安裝的四種形式,接下來我們就通過第一種(二進制發(fā)布包)形式來安裝JDK。 JDK對應的二進制發(fā)布包:jdk-17.0.12_linux-x64_bin.tar.gz
一般為gz格式的文件。
1). 上傳安裝包
加粗樣式
使用FinalShell自帶的上傳工具將jdk的二進制發(fā)布包上傳到Linux
由于上述在進行文件上傳時,選擇的上傳目錄 /root,上傳完畢后,我們執(zhí)行指令 cd /root 切換到根目錄下,查看上傳的安裝包。
2). 解壓安裝包
執(zhí)行如下指令,將上傳上來的壓縮包進行解壓,并通過-C參數(shù)指定解壓文件存放目錄為 /usr/local。
tar -zxvf jdk-17.0.12_linux-x64_bin.tar.gz -C /usr/local/
3). 配置環(huán)境變量
使用vim命令修改/etc/profile
文件,在文件末尾加入如下配置
export JAVA_HOME=/usr/local/jdk-17.0.12
export PATH=$JAVA_HOME/bin:$PATH
具體操作指令如下:
1). 編輯/etc/profile文件,進入命令模式vim /etc/profile2). 在命令模式中,輸入指令 G , 切換到文件最后G3). 在命令模式中輸入 i/a/o 進入插入模式,然后切換到文件最后一行i4). 將上述的配置拷貝到文件中export JAVA_HOME=/usr/local/jdk-17.0.12export PATH=$JAVA_HOME/bin:$PATH5). 從插入模式,切換到指令模式ESC6). 按:進入底行模式,然后輸入wq,回車保存:wq
4). 重新加載profile文件
為了使更改的配置立即生效,需要重新加載profile文件,執(zhí)行命令:
source /etc/profile
5). 檢查安裝是否成功
java -version
輸出版本號即為成功~~
安裝Nginx
Nginx的安裝包,從官方下載下來的是c語言的源碼包,我們需要自己編譯安裝。具體操作步驟如下:
1). 安裝Nginx運行時需要的依賴
yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
安裝C語言的編譯環(huán)境.
yum install gcc-c++
2). 上傳Nginx的源碼包(指路:nginx: download)

3). 解壓源碼包到當前目錄
tar -zxvf nginx-1.20.2.tar.gz
4). 進入到解壓目錄后,執(zhí)行指令
#進入解壓目錄
cd nginx-1.20.2#執(zhí)行命令配置, 生成Makefile文件
./configure --prefix=/usr/local/nginx
5). 執(zhí)行命令進行編譯和安裝
#編譯
make#編譯安裝
make install
啟動Nginx
進入到nginx安裝目錄/usr/local/nginx
,啟動nginx服務
cd /usr/local/nginx/
sbin/nginx
啟動完畢之后,我們可以通過 ps
指令查詢當前系統(tǒng)中的nginx進程,從而確認nginx是否啟動 。
然后,我們就可以打開瀏覽器,訪問服務器上的nginx 。
后端項目部署
之前我們講解Linux操作系統(tǒng)時,就提到,我們服務端開發(fā)工程師學習Linux系統(tǒng)的目的就是將來我們開發(fā)的項目絕大部分情況下都需要部署在Linux系統(tǒng)中。
環(huán)境準備
那現(xiàn)在,項目要上線了,要部署到linux服務器上了,我們也需要使用linux服務器上所安裝的mysql數(shù)據(jù)庫。
那此時,我們就可以再準備一份文件 application.yml
將里面的配置的mysql的ip、redis的ip地址及相關配置信息修改一下(配置Linux上安裝的MySQL、Redis的信息):
#配置數(shù)據(jù)庫連接信息
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.100.128:3306/tliasusername: rootpassword: 1234servlet:multipart:max-file-size: 10MB #單個文件最大大小限制10MBmax-request-size: 100MB #單個請求最大大小限制100MBredis:host: 192.168.100.128port: 6379database: 0password: 159357timeout: 10s # 連接超時時間lettuce:pool:# 連接池中的最小空閑連接min-idle: 0# 連接池中的最大空閑連接max-idle: 8# 連接池的最大數(shù)據(jù)庫連接數(shù)max-active: 8# #連接池最大阻塞等待時間(使用負值表示沒有限制)max-wait: -1ms
改造完畢之后,可以在本地的idea中先啟動當前項目,然后訪問一下,看看工程是否正常訪問。
打包部署
1). 執(zhí)行 package
指令,進行打包操作,將當前的springboot項目,打成一個jar包。 (跳過測試)
2). 在Linux服務器上創(chuàng)建一個目錄,將jar包上傳到服務器 。
mkdir -p /usr/local/app
3). 通過java命令,啟動項目
#進入目錄/usr/local/app
cd /usr/local/app#運行jar包
java -jar tlias-web-management-0.0.1-SNAPSHOT.jar
項目啟動起來之后,就可以打開瀏覽器測試啦**(使用服務器的ip訪問)**。
后臺運行
1). 后臺運行程序
nohup java -jar tlias-web-management-0.0.1-SNAPSHOT.jar &> tlias.log &
通過上述指令就可以后臺運行服務,服務運行之后, 所有的日志信息都會輸出到 tlias.log 文件中。
2). 停止服務
#查看服務的進程信息
ps -ef|grep tlias#殺掉進程
kill -9 xxxxx
目前程序運行的問題
- 線上程序不會采用控制臺霸屏的形式運行程序,而是將程序在后臺運行
- 線上程序不會將日志輸出到控制臺,而是輸出到日志文件,方便運維查閱信息
nohup命令:英文全稱no hang up(不掛起),用于不掛斷地運行指定命令,退出終端不會影響程序的運行。
語法格式:
nohup Command[Arg...][&]
參數(shù)說明:
- Command:要執(zhí)行的命令
- Arg:一些參數(shù),可以指定輸出文件
- &:讓命令在后臺運行
舉例:
nohup java -jar hello-0.0.1-SNAPSHOT.jar &> xzy.log &
后臺運行java-jar命令,并將日志輸出到xzy.log文件
想要停掉項目,先查詢項目占用的端口號:
ps -ef | grep java
。然后殺掉這個進制即可:kill -9 xxxx
前端項目部署
1). 將nginx的安裝目錄的html中的靜態(tài)資源文件先刪除掉。
2).將打包好的dist
靜態(tài)資源文件,全部上傳到nginx安裝目錄下的 html 目錄中.
3). 修改資料中提供的 nginx.conf
配置文件,將其上傳到nginx安裝目錄下的 conf 目錄中.
4). 重新加載nginx服務的配置文件
#重新加載配置文件
sbin/nginx -s reload
5). 再次訪問nginx (可能會存在瀏覽器緩存, 可以按Ctrl+F5,強制刷新清理緩存)
nginx服務常見操作指令:
- 啟動: sbin/nginx
- 重載: sbin/nginx -s reload
- 停止: sbin/nginx -s stop
部署項目 Docker
外鏈圖片轉存中…(img-kfuwrdbH-1741622394419)]
4). 重新加載nginx服務的配置文件
#重新加載配置文件
sbin/nginx -s reload
5). 再次訪問nginx (可能會存在瀏覽器緩存, 可以按Ctrl+F5,強制刷新清理緩存)
nginx服務常見操作指令:
- 啟動: sbin/nginx
- 重載: sbin/nginx -s reload
- 停止: sbin/nginx -s stop
部署項目 Docker
todo