当前位置: 首页 > news >正文

SpringBoot速成(16)项目部署P30

部署是一个非常重要的环节。部署的目的是将开发完成的程序运行在服务器上,让其他用户或系统能够访问和使用它。

让程序对外提供服务

  • 开发环境的局限性:开发环境通常是本地计算机,仅供开发人员使用。但实际应用需要让其他用户(比如其他部门、合作伙伴或终端用户)能够访问。

  • 服务的可访问性:部署到服务器后,程序可以通过网络(如互联网或内网)被其他设备访问,从而实现其功能。

过程展示: 

报错:

1.

2.

报错:.yml包中有问题

修改:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/big_event
    username: root
    password: 123
  servlet:
    multipart:
      max-file-size: 300KB
      max-request-size: 300KB



其他不用的代码,在.yml中添加注释,# 空一格再写中文 

# data:
#  redis:
#   host: localhost
#      port: 6379





# mybatis:
#  configuration:
#    map-underscore-to-camel-case: true
#    开启驼峰命名,下划线命名的自动转换
注意:重新打包jar包

运行:

报错:端口被占用

原因:打包jar包前,要先运行IDEA的BigEventAppilcation,已占用端口8080

修改:

cls清空cmd窗口 

ctrl+c:停止

成功!

IDEA不运行,而是运行部署环境,postman仍正常运行: 

 


优化:属性配置:

1.yml 配置的缺点:随着打包jar包,打包完成后,运维不能再修改了

2.命令行参数配置:

3.环境变量方式(此处不演示)

4.外部配置文件(要修改的很多的时候)

.jar包目录:

将.yml文件复制到该目录下,并用记事本打开,清空内容,写上:

server:
    port: 6666

运行: 

5.当4种配置方式同时运行时的先后顺序: 1>2>3>4


优化:多环境开发: 

profiles:隔离测试开发运行,并在特定环境下某些配置生效

profiles 普通:

#通用配置
spring:
  config:
    activate:dev
---
# 开发
spring:
  config:
    activate:
      on-profile: dev
server:
  port: 8081
---
# 测试
spring:
  config:
    activate:
      on-profile: test
server:
  port: 8082
---
# 生产
spring:
  config:
    activate:
      on-profile: pro
server:
  port: 8083

或者创建四个.yml:

application.yml,application-dev.yml,application-pro.yml,application-test.yml,

profiles 分组:

application.yml,application-devDB.yml数据源,application-devSelf.yml自定义,application-devServer.yml,

application-devServer.yml:服务器

server:
  port: 8081

application.yml:定义分组

  profiles:
    group:
      "dev": devServer,devDB,devSelf
      active: dev

相关文章:

  • 【YOLOv8】损失函数
  • 11.编写前端内容|vscode链接Linux|html|css|js(C++)
  • Spring中事务的传播行为方式
  • DeepSeek掀起推理服务器新风暴,AI应用迎来变革转折点?
  • FreeSwitch的mod_translate模块详细,附带场景案例及代码示例
  • EasyExcel实现excel导入(模版上传)
  • 【pytest】编写自动化测试用例命名规范README
  • 考研操作系统------锁(仅仅作为王道哔站课程讲义作用)
  • 第二章:16.6 回归树
  • RadASM环境,win32汇编入门教程之七
  • JVM类加载过程详解:从字节码到内存的蜕变之旅
  • 基于Flask的第七次人口普查数据分析系统的设计与实现
  • 国产编辑器EverEdit -告别东找西找!一键打开当前文件所在目录!
  • 字节最新AI 版IDE:用Trae开发网站打包信息追踪插件,国产版Cursor表现如何?
  • Python蓝桥杯刷题-小数第n位详解
  • 怎么使用DeepSeek?DeepSeek使用教程
  • DeepSeek(AI)如何赋能智能漏洞扫描与利用的思考
  • ComfyUI多功能插件安装-Comfy UI Manager
  • Docker 镜像操作笔记
  • 案例-17.文件上传-阿里云OSS-入门
  • 人民日报整版聚焦:外贸产品拓内销提速增量,多地加快推动内外贸一体化
  • 泽连斯基已离开土耳其安卡拉
  • 中拉互联网发展与合作论坛在西安开幕
  • 手机表面细菌菌落总数可能比马桶高10倍,医生详解如何洗手
  • 俄外交部:俄乌伊斯坦布尔谈判改在当地时间15日下午举行
  • 丹麦外交大臣拉斯穆森将访华