美文网首页
2020-03-15 SpringBoot打包部署上线示例

2020-03-15 SpringBoot打包部署上线示例

作者: 俊果果 | 来源:发表于2020-03-15 15:33 被阅读0次

一、准备服务器

1、购买vps 或者 本地新建虚拟机

此处使用 centos7 系统

2、服务器安装 JDK

参考以前的文章 ubuntu Docker 安装 ElasticSearch 中的以下段落
二、安装 jdk

3、安装 mysql

4、安装 nginx

参考以前的文章 CentOS7 安装nginx 配置文件下载服务器


二、准备域名

1、购买域名

2、 DNSPod 设置新增一条记录如下

image.png
此处我们使用 api.xxx.com 作为我们部署的服务的域名

3、修改完成,ping 命令验证是否成功


三、打包 springboot 项目

1、pom添加打包插件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--替换成自己项目启动类的全路径-->
                    <mainClass>com.test.xxxApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

2、执行打包命令

mvn install -Dmaven.test.skip=true
image.png

执行完后可以在target目录找到打包好的jar文件

四、运行项目

1、拷贝打包好的jar文件到服务器

2、命令行启动服务

  • 前台方式启动,关闭会话即退出
java -jar yourjarpackage.jar
  • nohup 后台运行
nohup java -jar yourjarpackage.jar > nohup.log &
# nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行;当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,这里指定输出到 nohup.log 文件

Ctrl + Z 将任务暂停并放到后台,然后jobs查看所有后台任务,然后bg +编号将选中的任务变成在后台继续执行
可通过jobs命令查看后台运行任务

image.png
这里会列出所有后台的作业,并且每个任务前面都有编号,可通过fg+编号的方式将该作业调回前台进行控制
image.png
此命令只对当前终端有效,关闭后在其他会话不可见
ps -aux | grep java

  • 查看端口占用
lsof -i:端口号
image.png

或使用

netstat -tunlp | grep 端口号
image.png
然后通过kill -9 pid 即可杀死进程

#创建命名Tmux会话
tmux new -s session_name
#查看命令
ctrl + b + ?
# ctrl + a + d 从会话中退出
# 查看所有会话
tmux ls
# 重新进入会话
tmux attach -t session_name

实际使用如下:

tmux new -s api
java -jar webapisvc-0.0.1-SNAPSHOT.jar
ctrl + b +d #退出会话(或直接关闭窗口)
tmux ls #查看运行中的后台会话
tmux attach -t api #重新进入会话

五、配置文件说明

默认项目有以下配置

image.png
进行打包之后,这些资源文件也会包含在jar包中。
  • Spring程序运行时会按优先级从下面这些路径来加载application.properties配置文件:
    当前目录下的/config目录
    当前目录
    classpath里的/config目录
    classpath 根目录
  • 所以如果需要修改服务器的配置,只需要在上面优先级比较高的目录中新增一份配置文件,改动后重启服务即可

六、防火墙开放 80端口

centos7防火墙设置参考文章CentOS 7 开放防火墙端口命令

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
# 关闭端口
firewall-cmd --remove-port=80/tcp --permanent
# 查看已开放的端口:
firewall-cmd --list-ports

七、nginx配置代理转发

因为后端服务是 8080 端口,对外开放的是 80 端口,所以需要做代理转发

/etc/nginx/conf.d
vim api.conf

新增配置文件,内容如下

image.png
然后重启nginx
nginx -s reload

就可以通过浏览器访问域名了

相关文章

网友评论

      本文标题:2020-03-15 SpringBoot打包部署上线示例

      本文链接:https://www.haomeiwen.com/subject/ihzcehtx.html