zoukankan      html  css  js  c++  java
  • 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包 

    参考:链接

    作者: Pam

    出处: https://www.cnblogs.com/pam-sh/>

    关于作者:网安在读

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(mir_soh@163.com)咨询.

  • 相关阅读:
    php内存管理机制、垃圾回收机制
    Redis 3.2.1集群搭建
    centos开启IPV6配置方法
    /etc/hosts.allow和/etc/hosts.deny详解
    3元购买微信小程序解决方案一个月
    linux下使用ntfs-3g挂载NTFS出错
    腾讯云微信小程序域名变更指南
    nginx开启gzip压缩
    centos 7使用yum安装docker容器
    linux中启动网卡报错:Bringing up interface eth1: Error: Connection activation failed
  • 原文地址:https://www.cnblogs.com/pam-sh/p/14354762.html
Copyright © 2011-2022 走看看