分享好友 最新动态首页 最新动态分类 切换频道
docker方式启动一个java项目-Nginx本地有代码,并配置反向代理
2024-12-26 22:46

docker方式启动一个java项目-Nginx本地有代码,并配置反向代理

导入一个现成的IDEA项目工程,但是利用Docker从0开始配置环境,最终达到项目成功运行的目的

此外,我们导入的是一个商品管理的案例,其中包含商品的CRUD功能。我们将来会给查询商品添加多级缓存。
也即本项目可以用于演示多级缓存。

后期做数据同步需要用到MySQL的主从功能,所以需要在虚拟机中,利用Docker来运行一个MySQL容器。

为了方便后期配置MySQL,我们先准备两个目录,用于挂载容器的数据和配置文件目录

 
 

进入mysql目录后,执行下面的Docker命令

注意之前别忘了先启动docker

 
 

创建一个新容器,并运行他
给容器取个名字 (此处给容器取名就叫mysql)
后面接一个镜像名称 表示根据哪个镜像创建新容器
隔离容器配置绑定端口,否则访问不了
本地数据卷挂载到容器内的数据卷上

在/tmp/mysql/conf目录添加一个my.cnf文件,作为mysql的配置文件

 

文件的内容如下

 
 

配置修改后,必须重启容器

 

上面给容器取了名字的好处,这里可以直接使用name启动容器,而非容器id(需要docker ps 或者docker ps -a查一下,比较麻烦)
注意是docker start 不是docker run(创建并运行容器)

查看

 
  
 
 
  
  

接下来,利用Navicat客户端连接MySQL,然后导入资料提供的sql文件

链接:https://pan.baidu.com/s/1dv6ydcwaum3tXRnqmCNxmA
提取码:hzan

其中包含两张表

  • tb_item:商品表,包含商品的基本信息
  • tb_item_stock:商品库存表,包含商品的库存信息

下面导入资料提供的工程

项目结构如图所示

其中的业务包括

  • 分页查询商品
  • 新增商品
  • 修改商品
  • 修改库存
  • 删除商品
  • 根据id查询商品
  • 根据id查询库存

业务全部使用mybatis-plus来实现,如有需要请自行修改业务逻辑。

在包的中可以看到接口定义

 
 

在包的中可以看到接口定义

在包的中可以看到接口定义

在包的中可以看到接口定义

在包的中可以看到接口定义

逻辑删除,修改状态为3 (MP内部有这个机制呀,这里竟然没用)

这里是采用了逻辑删除,将商品状态修改为3

在包的中可以看到接口定义

这里只返回了商品信息,不包含库存

在包的中可以看到接口定义

注意修改application.yml文件中配置的mysql地址信息

需要修改为自己的虚拟机地址信息、还有账号和密码。

修改后,启动服务,访问:http://localhost:8081/item/10001即可查询数据

  • 完整Controller代码
 
 

商品查询是购物页面,与商品管理的页面是分离的。

部署方式如图

我们需要准备一个反向代理的nginx服务器,如上图红框所示,将静态的商品页面放到nginx目录中。

页面需要的数据通过ajax向服务端(nginx业务集群)查询。

这里直接使用资料中准备好了的nginx反向代理服务器和静态资源。

链接:https://pan.baidu.com/s/1dv6ydcwaum3tXRnqmCNxmA
提取码:hzan

找到资料的nginx目录

将其拷贝到一个非中文无空格的目录下,运行这个nginx服务。

运行命令

 

然后访问 http://localhost/item.html?id=10001即可

现在,页面是假数据展示的。我们需要向服务器发送ajax请求,查询商品数据。

打开控制台,可以看到页面有发起ajax查询数据

而这个请求地址同样是80端口,所以被当前的nginx反向代理了。

其中的api一看就知道是nginx.conf里配置的反向代理规则

查看nginx的conf目录下的nginx.conf文件

其中的关键配置如下

监听80端口,以/api开头的请求

其中的192.168.150.101是我的虚拟机IP,也就是我的Nginx业务集群要部署的地方

若你的不一样,如:192.168.141.100 , 手动修改一下

完整内容如下


最新文章
美之图ios版app下载
美之图ios版app下载这款软件主要为用户们提供了手机的美化服务,在这款软件中有非常多高清的壁纸可以选择,并且软件有非常便捷的分类,用户一眼就可以选择自己想要的主题,想要为自己的手机做美化的话,这个软件再适合不过了。1.流行图片信
从零开始搭建服务器,拥有一个属于自己的网站
这篇文章将从购买服务器一直到最后网站完成备案,详细说明整个过程,就算是不懂编程的人照样可以拥有属于自己的服务器和网站 必备条件: 1:电脑一台 2:网络 3:身份证 一:首先选择一家服务商
获客助手链路账号异常,无法加粉,提醒功能如何配置?
在利用企微获客助手进行客户沟通的过程中,如果发现客户流失的预警系统反应迟缓,我们必须立即采取有效措施。未能及时发现客户流失的潜在风险,可能会导致我们失去挽回客户的机会,进而影响到客户关系的维护和深化。为了确保预警系统的精准
登记注册身份验证小程序操作指南来啦
申请人线下提交申请材料(窗口/寄递)办理业务,相关人员实名认证方式调整为使用支付宝app中“登记注册身份验证”小程序进行实名认证,已经于2023年10月18日起上线试运行。下面,让我们一起来看看如何使用登记注册身份验证小程序完成实名认
MySQL的索引是什么?怎么优化?
索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了Explain,用于显示SQL执行的详细信
新手也能做抖音推文+文生动漫视频!几款AI小程序搞定!
1智能二创工具这款微信小程序专注于视频去重功能。只需轻轻一点“视频去重”的按钮,然后输入视频的链接,或者将原视频上传到小程序,挑选一款你钟爱的模式,即可生成原创视频。2动画推文神器每次在刷抖音的时候,我都会被那些丰富多彩的小
日照SEO
一、SEO是搜索引擎优化(Search Engine Optimization)的英文缩写,中文译为“搜索引擎优化”。SEO是通过优化网站结构、内容和链接等方式来提高网站在搜索引擎中的排名。SEO目的是让其在行业内占据领先地位,获得品牌收益。在一定程度上是
鹿泉SEO赋能,企业网络营销新启航
鹿泉SEO专注于企业网络营销,通过专业策略助力企业抢占数字时代先机,实现品牌价值提升与市场拓展,开启网络营销新篇章。随着互联网的飞速发展,已经成为企业拓展市场、提升品牌知名度的重要手段,(搜索引擎优化)作为网络营销的核心技术
万宁四居室楼盘热搜榜揭晓,第一名竟如此受追捧!
二、万宁四居室热搜楼盘榜单 根据房天下研究院的数据,截至今日,万宁四居室热搜楼盘的名单已经公布,其中包括中海神州半岛、华润·石梅湾九里、海云轩、南洋印象和海南臻园五大楼盘,而中海神州半岛以其绝对优势稳居榜首。| 排名 | 楼盘名
拷贝漫画官方正版2024软件介绍
拷贝漫画官方正版2024下载通过整合多个平台的漫画资源,为用户提供了一个集大成者的阅读平台。这意味着用户无需在多个应用或网站之间跳转,即可轻松找到并阅读自己喜欢的漫画作品,极大地提升了阅读效率和便捷性。该应用涵盖了各种类型的漫
相关文章
推荐文章
发表评论
0评