項目部署到服務器上,有兩種方式,一種 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包
參考:鏈接
