Springboot 項目部署到服務器上


項目部署到服務器上,有兩種方式,一種 jar 包,一種 war 包

jar包 部署時,后續的域名配置,SSL證書等在nginx中配置

war包 部署時,后續的域名配置可以在tomcat中配置就好,修改項目時直接丟到webapps下就行

jar包

直接在IDEA 中將項目打成一個jar包,所以的修改均在打包之前完成。

jar包方式啟動,也就是使用spring boot內置的tomcat運行。服務器上面只要你配置了jdk1.8及以上即可,不需要外置tomcat。另外 jdk安裝參考】 

准備

環境

IDEA +Maven

Linux+JDK( ≥1.8)+nginx

開始

1、打開idea編輯器下方的terminal窗口,這也是idea編輯器自帶的命令提示符,通過cd進入到項目目錄下

2、打包

mvn clean install -Dmaven.test.skip

稍等一會,看到 BUILD SUCCESS 后說明已經打包完成!

3、此時到項目目錄下會看到Target目錄,在Target目錄下有打成的jar文件 

注:******將依賴包也打包進來

增加build插件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com</groupId>
    <artifactId>EnctyptParamTool</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <fastjson.version>1.2.32</fastjson.version>
    </properties>
    <dependencies>
        
        <!--輔助工具類-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.5.9</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <!--這部分可有可無,加上的話則直接生成可運行jar包-->
                    <!--<archive>-->
                    <!--<manifest>-->
                    <!--<mainClass>${exec.mainClass}</mainClass>-->
                    <!--</manifest>-->
                    <!--</archive>-->
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

具體參考:1、maven將依賴第三方包打包(package)到jar中

部署

1、上傳到服務器上

任意新建一個文件夾,將 打包好的 jar包 移入

2、運行

nohup java -jar ***.jar >log.txt &

這種方法會把日志文件輸入到你指定的文件中,沒有則會自動創建,進程會在后台運行。

3、訪問

ip+端口 

4、nginx代理

nginx安裝配置參考鏈接

參考:鏈接 

配置nginx.conf:

vim /etc/nginx/nginx.conf   打開配置文件

vim /etc/nginx/conf.d/default.conf

只需該改動2處即可:

server {
    listen       80;
    server_name  span.fun;   #換上你准備的域名 

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        #配置訪問的項目路徑(注:這里重點)
        proxy_pass  http://47.100.207.28:8000;  #此處一定加冒號,不然重啟服務報錯

        proxy_set_header           Host $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header           X-Forwarded-For       $proxy_add_x_forwarded_for;
        client_max_body_size  100m;

        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

5、配置SSL證書,https訪問

參考:鏈接

server {
    listen  443 ssl;
    server_name  span.fun;

    #SSL配置
         ssl_certificate "**.pem"; #將domain name.pem替換成您證書的文件位置+名稱。
         ssl_certificate_key "*.key"; #將domain name.key替換成您證書的密鑰文件位置+名稱。
         ssl_session_timeout 5m;
         ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密算法。
         ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用該協議進行配置。
         ssl_prefer_server_ciphers on;

    location / {
        #配置訪問的項目路徑(注:這里重點)
        proxy_pass  http://47.100.207.28:8000;

        proxy_set_header           Host $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header           X-Forwarded-For       $proxy_add_x_forwarded_for;
        client_max_body_size  100m;

        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
       # root   /usr/share/nginx/html;
    }
}

# 接收http請求,轉到https 
server {
    listen 80;
    server_name span.fun; #需要將yourdomain.com替換成證書綁定的域名。
    rewrite ^(.*)$ https://$host$1; #將所有HTTP請求通過rewrite指令重定向到HTTPS。
    location / {
        #配置訪問的項目路徑(注:這里重點)
        proxy_pass  http://47.100.207.28:8000;

        proxy_set_header           Host $host;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header           X-Forwarded-For       $proxy_add_x_forwarded_for;

        index index.html index.htm;
    }
}

此處需注意:

若出現錯誤:ERR_SSL_PROTOCOL_ERROR

參考:鏈接

6、域名訪問

域名

war包 

參考:鏈接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM