Springboot项目部署到Nginx服务器中

597 阅读2分钟

版本说明

  • centos 7(虚拟机中)
  • Java 1.8
  • Nginx=1.21.6

准备一个项目

systemctl reload nginx使配置生效

Java环境搭建

  1. 先查看本地是否自带java环境:

    yum list installed |grep java
    
  2. 如果装了自行卸载,没装就安装Java1.8

    yum -y install java-1.8.0-openjdk*
    
  3. 查看Java安装路径:which java

    /usr/bin/java
    
  4. 找Java安装路径

    which java
    
    ls -lrt /usr/bin/java(也就是上一步查询出来的路径),然后回车
    
    输入ls -lrt /etc/alternatives/java(也就是上一步查询出来的路径),然后回车
    
    从路径中可以看到在jvm目录下,输入cd /usr/lib/jvm,跳转到jvm的目录
    
    输入ls 列出当前目录下的文件和文件夹
    
  5. 配置Java环境变量

    输入vi /etc/profile去编辑环境变量
    
    # java
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0
    export JRE_HOME=$JAVA_HOME/jre  
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    

    输入source /etc/profile,使配置立即生效

image.png

springboot项目打成jar包

  1. 现有的Springboot工程,使用maven打包。clean+package

image.png

image.png

  1. 进入jar包目录下,运行测试,确保可以成功启动

image.png

将项目部署到Nginx中

  1. 将前面的jar包上传到指定目录,我这里是/home/projects。

  2. 在服务器中后台运行jar包

    nohup java -jar 文件名 &
    

image.png

Nginx服务配置

该服务器为主要入口,在此可以做负载均衡,用户请求到达改服务器,根据配置做跳转。
因为我设置的是服务器组,在upstream中,所以将项目所在的服务器地址修改成目的地址

image.png

如果是单机,直接在proxy_pass设置即可

image.png

systemctl reload nginx使配置生效

网关配置

因为项目所在服务器通常是不允许外网访问的,这里只开放端口给我们的Nginx所在服务器。

  1. 开启项目所在机子防火墙

      systemctl restart firewalld
    
  2. 配置防火墙规则,项目启动端口是8080,单独开放给Nginx

      firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="Nginx服务器的IP" port protocol="tcp" port="8080" accept"
    
  3. 重载规则

    #重载规则
    firewall-cmd --reload
    
  4. firewall-cmd --list-all可以查看到我们添加是否成功,至此配置完毕