java-springboot部署

longsihua2003發表於2024-09-09

java專案部署

java專案構建

這裡介紹maven專案的構建和部署:

  1. 進行maven專案的構建

        mvn clean package
    
  2. 將生成的target當中的jar包傳入伺服器

    使用scp命令或者透過軟體。這裡不做介紹

伺服器執行springboot專案

  1. 安裝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
    
  2. 後臺執行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/;
        }
    }
```

相關文章