java專案部署
java專案構建
這裡介紹maven專案的構建和部署:
-
進行maven專案的構建
mvn clean package
-
將生成的target當中的jar包傳入伺服器
使用scp命令或者透過軟體。這裡不做介紹
伺服器執行springboot專案
-
安裝java17的sdk
# 包放在opt當中 mkdir /opt/jdk17 # wget下載jdk包 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz -P /opt/jdk17/ # 解壓 tar xf /opt/jdk17/jdk-17_linux-x64_bin.tar.gz -C /opt/jdk17/ # 查詢sdk路徑 ls /opt/jdk17 # 將java_home環境變數和jdk環境變數,直接寫入profile echo ' export JAVA_HOME=/opt/jdk17/jdk-17.0.9 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile # 執行命令讀取環境變數 source /etc/profile # 檢視是否成功 java -version
-
後臺執行jar包
主要是使用nohup命令直接跑就可以掛起,也可以使用掛起終端的命令screen。(這裡介紹nohup)
nohup java -jar shareniu.jar >output.txt &
接下來書寫nginx配置檔案,進行動靜分離部署
```shell
upstream java-jar{
server localhost:8000;
}
server {
# 設定虛擬主機代理jar埠
location / {
proxy_pass http://java-jar;
# include /opt/tengine12/conf/proxy_params;
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;
}
# 代理動靜分離別名
location /uploads/ {
alias /opt/backend/uploads/;
}
}
```