范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

SpringBoot进阶之服务部署

  SpringBoot进阶之服务部署前言
  大家好,一直以来我都本着用最通俗的话理解核心的知识点, 我认为所有的难点都离不开  「基础知识」  的铺垫。目前正在出一个SpringBoot 长期系列教程,从入门到进阶, 篇幅会较多~ 适合人群学完Java基础  想通过Java快速构建web应用程序  想学习或了解SpringBoot  SpringBoot进阶学习
  「大佬可以绕过 ~」  背景
  如果你是一路看过来的,很高兴你能够耐心看完。之前带大家学了 Springboot 基础部分,对基本的使用有了初步的认识, 接下来的几期内容将会带大家进阶使用,会先讲解基础中间件 的使用和一些场景的应用,或许这些技术你听说过,没看过也没关系,我会带大家一步一步的入门,耐心看完你一定会有收获 ~ 情景回顾
  前几期呢,带大家学习了 SpringBoot 的进阶教程。当我们的代码写好了,需要发布到服务器上给用户访问,这期将带大家快速的部署我们的Java 应用服务, 同样的,我们集成到Springboot 中。 分环境打包
  发布之前,最重要的事情是需要我们去打包我们的程序,这样服务器才能够运行它。打包之前呢,教大家先把本地的环境区分好,先修改 pom.xml , 在build  下加入如下配置                         dev                                   true                                            dev                                  prod                      prod               
  刷新一下,我们会发现右侧 Maven 展开后多了一个配置文件 ,展开后它是一个单选,这就是我们的环境配置文件,选哪个代表打的包是哪个环境下的。
  还需要做一件事情就是和我们的 SpringBoot 配置进行关联: spring:   profiles:     active: @profile.active@
  @profile.active@ 这个值就是动态去获取的,它可以是通过我们刚刚配置的配置文件 里的值,还有就是可以通过命令行 参数去获取, 下面我们只需要分开建立配置文件即可, 命名方式 application-${profile}.yml , 这样一来,我们application.yml 中的配置可以拆到外边了,只需要保留公共部分, 一般情况下我们做配置区分实际上大部分都是对数据源,服务端端口,请求前缀等 做区分,数据源比如mysql,redis 等等 application.yml   spring:   profiles:     active: @profile.active@  mybatis:   mapper-locations:     - classpath:mapper/*.xml   configuration:     cache-enabled: true     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl application-dev.yml  server:   port: 8878 # 设置应用端口,默认是8080   tomcat:     max-threads: 800     uri-encoding: UTF-8   servlet:     context-path: /dev-api  spring:   application:     name: app-shiro   datasource:     url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true     username: root     password: xxxx   redis:     host: localhost # Redis服务器地址     database: 1 # Redis数据库索引(默认为0)     port: 6379 # Redis服务器连接端口     password: # Redis服务器连接密码(默认为空)  application-prod.yml  server:   port: 8888 # 设置应用端口,默认是8080   tomcat:     max-threads: 800     uri-encoding: UTF-8   servlet:     context-path: /  spring:   application:     name: app-shiro   datasource:     url: jdbc:mysql://xxx.xxx.xxx.xxx:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false&allowPublicKeyRetrieval=true     username: xxx     password: xxxxxxx   redis:     host: xxxxx # Redis服务器地址     database: x # Redis数据库索引(默认为0)     port: 6379 # Redis服务器连接端口     password: xxxx # Redis服务器连接密码(默认为空)  编译Jar包
  我们部署方式以 Jar 包为主,下面我们就去编译它,借助idea 工具我们很方便的就可以打包了,点击右侧Maven , 然后点击生命周期 , 我们先双击clean ,然后双击install ,这样就可以了,控制台会有打包信息,出现SUCCESS 代表成功了,那么编译后的产物在哪呢, 在对应模块下的target 文件夹下, 它有一个.jar 后缀的文件,那个就是我们的jar 包了 服务部署
  下面,就教大家如何部署到服务器上,首先服务器需要安装 nginx 用于代理我们的java 服务, 因为我们不会像在本地一样通过端口访问的,都是要通过域名 去访问所以推荐大家使用nginx , 其次还需要安装java8 , 下面直接给大家贴命令,我们默认服务器系统是CentOs 7  # 安装nginx yum install nginx  # 设置开启启动 systemctl enable nginx systemctl start nginx  # 安装java yum install java
  安装好了之后,我们先配置 nginx , 修改/etc/nginx.conf  worker_processes  1;  events {     worker_connections  1024; }  http {     include       mime.types;     default_type  application/octet-stream;     sendfile        on;     keepalive_timeout  65;      server {         listen       80;         server_name  localhost;   charset utf-8;      location /prod-api/ {    proxy_set_header Host $http_host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header REMOTE-HOST $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     # 这就是我们要代理的服务端口 也就是sprinboot的启动端口    proxy_pass http://localhost:8888/;   }          error_page   500 502 503 504  /50x.html;         location = /50x.html {             root   html;         }     } }
  这里根据自身来,如果有 域名 可以把 localhost 改成域名, 没有也可以改成公网的ip做测试,如果是域名需要到具体的域名服务商解析到服务器的公网ip,也就是A 记录 发布jar包
  下面需要把我们本地编译好的 jar包 部署到我们的服务器上,我们可以通过ftp工具去上传到服务器,哪个目录可以自己定,我这里上传到/home/java/ 下, 工具推荐filezila ,windows用户可以使用xftp ,这个也不错(只有window版本),因为我是mac,所以我使用的是filezila
  然后我们链接它就完事了,好了之后我们到对应目录,把本地的 jar 包直接拖进去就完事~ 运行SpringBoot服务
  我们的包已经发上来了,下边我们就一起动手运行它,这里给大家准备好了一个简要的 start.sh  # 这个意思后台运行 并把日志输出到知道文件  nohup java -jar app.jar >> app.log  2>&1 &
  实际上我们运行jar包通过 java -jar xxxx.jar ,但是没法后台运行,也就是说关闭远程链接后,就自动挂掉了
  这里要说的是,我们执行需要到 jar 包同级目录中,好,我们把这个start.sh 文件也发到home/java/ ,下面我们通过shell 工具远程链接我们的服务器,windows用户可以使用Xshell
  链接好后,执行一下命令:  # 赋予可执行权限 chmod 777 start.sh  # 执行脚本 ./start.sh
  大家可以自己访问,测试一下,哦,修改完 nginx 配置一定记得热重启一下, 不然配置不生效哦!~ nginx -s reload 结束语
  以上只针对测试环境,其实现在的环境部署都比较成熟了,一般小项目你可以这么玩,但是大项目就不行了,因为我们的进程没法自主恢复,就是说意外的挂了,他不能自愈,我们可以借助守护进程工具,比如 supervisor 这样的,这里就不给大家演示了。现在的部署都是逐渐向容器化靠拢了,后边会教大家高级的,比如docker 的部署方式,教大家如何打镜像和部署,等到讲```docker``的时候会教大家~ 下期预告
  到此为止,我们的 SpringBoot 进阶系列教程就结束了,下周我们正式开启SpringCloud微服务之旅 ,如果对SpringBoot 还不够熟悉的,请看完之前的教程哦,不然学习很费劲,因为我们的微服务 都是以SpringBoot 为基础搭建的,我们学习只是学习它的各大组件还有如何灵活的运用到场景中。没有微服务基础也没关系,我会带着大家一步一步入门,从理论到实战,尽可能的讲全。关注我,不迷路,下期见~ 更文时间工作日(周一 周五)  周末不更  节假日不定时更  也欢迎投稿    往期内容我的博客(阅读体验较佳)  Springboot入门  Springboot基础(一)  Springboot基础(二)  Springboot基础(三)  Springboot基础(四)  Springboot基础(五)  SpringBoot进阶之缓存中间件Redis  SpringBoot进阶之MyBatis分页插件  SpringBoot进阶之跨域问题处理(CORS)  SpringBoot进阶之日志集成  SpringBoot进阶之请求拦截  SpringBoot进阶之事务管理及并发问题  SpringBoot进阶之整合Shiro鉴权框架(一)  SpringBoot进阶之整合Shiro鉴权框架(二)  SpringBoot进阶之整合Shiro鉴权框架(三)  SpringBoot进阶之整合Shiro鉴权框架(四)  SpringBoot进阶之整合Shiro鉴权框架(五)  SpringBoot进阶之整合Shiro鉴权框架(六)  项目源码(源码已更新 欢迎star )springboot-all  地址 : https://github.com/qiuChengleiy/springboot-all.git

最低中签率0。03茅台新电商平台首日申购结果出炉高佳晨中国证券报中证网中证网讯(记者高佳晨)3月31日晚,茅台新电商平台i茅台首日申购结果出炉。据统计,贵州茅台酒(珍品)4599元瓶,投放量为3526瓶,申购人数为1402254感动中国2021年十大人物之一杨振宁1922年10月1日出生,香港中文大学博文讲座教授兼理论物理研究所所长,清华大学高等研究院名誉院长教授,纽约州立大学石溪分校荣休教授,中国科学院院士美国国家科学院外籍院士英国皇家学粉丝买到iPhone11Pro翻新机,群友一查整机报告就露馅儿了买二手iPhone的人非常多,因为二手iPhone性价比很高。但市面上真正原装的二手iPhone非常少,大多都是翻新过的,比如粉丝买的这台iPhone11Pro。虽然该机成色极品验华为5G回神了,麒麟985旗舰大量现货,8128G卖价2899关注华为的朋友可能都知道,现在要在华为中买到一款不错的5G手机,那是相当困难的,简单来说,在禁令之下,因为没有5G芯片供货,所以华为的很多5G手机系列都处于停滞状态。但因为华为涉及粉丝4000买黑解iPhone13,黑名单状态显示失窃是什么意思?黑解机就是有锁机,只是通过黑解绕过了网络锁而已!但很多商家喜欢叫黑解无锁机,其实这就是混淆视听!不要以为黑解机就是无锁机哦!网友买了一台红色黑解iPhone13,该机的成色不错,价4G改变生活,5G改变社会,那么6G改变什么?答案是6G将改变电信行业。其实这篇文章的本意是谈vRAN,是vRAN将改变电信行业,只不过蹭一下6G这个噱头,vRAN和6G没有必然关系,两者仅在发展时间上略有重叠,目前vRAN正脱胎换骨?央视公开透露,谷歌也没料到,华为会这么快开辟鸿蒙,谁为情种,都只为风月情浓。自古以来,鸿蒙一般都预示着混沌初开,预示着开天辟地。目前,在我国国产操作系统上面,也出现了这样一款名副其实的鸿蒙,没错,就是华为的鸿蒙系统。华为新经济风云录拥抱未来!新规之下,网络直播将走向何方?时下互联网直播蔚然成风,自2021年以来,作为网络直播最重要的形式之一电商直播头部主播纷纷陷入税收风波以来,市场就在猜测直播行业相关规范政策何时到来,直播行业也因此一度陷入政策风险实体店凋零,互联网裁员,未来何去何从?当下正在发生重大变化,对于普通人来说,有危险也有机会!大家有没有发现?当下很多街道上的实体店都是冷冷清清的,生意难做已经是共识。当然也有极个别有特色的店生意还是可以的,由于占比太小联发科冠军,高通第二,华为海思令人心痛从整体趋势看2022年国内智能手机出现了下滑趋势,整体市场表现非常低迷。在这样的情况之下上游供应链的日子也不会好过,毕竟大家都是一个生态链上的。特别是对于智能手机SoC厂家来讲,终要想赚钱,给互联网菜鸟七点建议互联网大发展日新月异,但还是引得无数人趋之若鹜,究其原因,就一个字利。自从各大平台的不断壮大,流量之争也呈现了炽热化,人群纷纷扰扰,有流量的地方成了必争之地。确实,互联网成就了太多
7月国内手机排名大变天,荣耀重回前三,OPPO和VIVO霸榜前二手机圈的变化真快!上半年华为因为芯片断供,已经逐渐在市场中失势,旗下的荣耀虽独立出来摆脱了芯片被限的窘境,但经过如此大的变动,重新合作新的芯片供应商导致产品性价比销量都大受影响。本小米汽车公司落户北京经开区,雷军担任执行董事及经理9月1日,小米汽车有限公司成立,注册资本100亿人民币,注册地址是北京经济技术开发区,经营范围含新能源车整车制造汽车整车及零部件的技术研发电机及其控制系统研发锂离子电池制造销售汽车移动电源的UL报告和UL62368标准测试什么?移动电源重要如果您在亚马逊商城销售商品,则必须遵守适用于这些商品和商品信息的所有联邦州和地方法律以及亚马逊政策。移动电源移动电源是锂电便携式外接电池,用于为移动电子设备充电。其他变巴西5G标书允许华为竞标,但禁止其参与巴政府私网?中国大使回应据中国驻巴西大使馆网站消息,9月1日,巴西主流大报环球报在纸质版网络版刊登对杨万明大使专访。杨大使就中巴关系及5G疫苗经贸等领域合作回答提问。资料图新华社记者单宇琦摄环球报提问说,如果高通骁龙不向中国出售会怎么样?如果高通骁龙不向中国出售,那他的新客户又在哪里?中国作为世界第一大手机生产国和消费国,从全球市场情报提供商TrendForce的统计数据来看,2016年中国智能手机产量达到了6亿台广东移动2020年度净利润是整个中国联通的两倍中国移动前十强省公司名单随之公布,从名单看广东移动年利润271亿。中国联通2020年年度净利润为125亿元,也就说,中国移动一个省级公司的利润就是整个联通公司年利润的两倍!三家运营真13香iPhone13没信号也能打电话?不止如此早在去年iPhone12系列智能手机发布的时候,网上就有人借王守义十三香的梗说iPhone12不如iPhone13香,而终于,2021年的9月份到了我们的面前,根据往年的规律(除了半年跳水千元,库克也失策了?A14256Gios15有望迎来春天相较于华米OV三星等手机厂商,苹果每年发布的新机数量很少,但款款皆是精品。去年年底问世的iPhone12系列,共有4款机型,大多数人的注意力都放在了标准版iPhone12上,价格更好多年没有卖平板电脑,现在推荐一款性价比超高的平板荣耀T7平板1屏幕方面采用10。1英寸大屏,分辨率为1200x1920,为用户带来60Hz的屏幕刷新,224ppiIPS屏幕,80屏占比,德国莱茵TUV护眼认证,1670万色多点触没5G手机,却被运营商忽悠开通5G套餐,1。5亿人被5G了近日,三大运营商公布了2021年4月运营数据报告,其中中国移动表示总用户数为9。42亿,其中5G用户为2。053亿。而电信表示总用户数3。58亿,5G用户数为1。178亿。联通表示江西未来几年能超过陕西吗随着这几年国家大力发展粤港澳大湾区,海西经济区,长三角经济区江西凭借区位优势,经济增长增速都创新高。随着江西大力招商引资新能源电动车,大数据产业AI虚拟技术大飞机产业更加使江西经济