首页 文章 精选 留言 我的

精选列表

搜索[季度营收],共6908篇文章
优秀的个人博客,低调大师

Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收

只需三步即可部署开源项目云收藏,打造专属个人的收藏系统,就是这么简单! 云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新技术是没有必要使用的,但做为学习案例来讲确实是一个绝佳的 Spring Boot 实践。 从开源到现在,写了一些教程给大家介绍如何部署云收藏,如何在IDE中运行云收藏,但是仍然有很多的朋友不知道如何使用,如何部署?就像“请提供一份云收藏数据结构” 这样的问题我至少都回答了一百多次,并且在 github 关闭了近十个类似的问题。 这也从另外一个方面可以看出,部署云收藏项目对一些朋友还是比较复杂,现在有了 Docker 我们就可以愉快的解决这个问题,只需三步就可以部署云收藏项目,打造专属个人的收藏系统。 云收藏 一些朋友可能还不了解云收藏,给大家简单介绍一下: 云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章,可以作为稍后阅读的一个临时存放。作为一个开放开源的软件,可以让用户从浏览器将收藏夹内容导入到云收藏,也支持随时将云收藏收集的文章导出去做备份。 产品主页 http://favorites.ren 项目主页 https://github.com/cloudfavorites/favorites-web 产品截图 核心功能点: 收藏、分类、检索文章 导出、导出(包活从浏览器中) 可以点赞、分享、讨论 注册、登录、个人账户 临时收藏、查看别人收藏 其它... 项目使用技术: Vue Bootstrap jQuery Thymeleaf Spring Data Jpa Spring Boot Mail WebJars Mysql Tomcat Redis Redis 后期去掉是由于服务器资源有限和部署麻烦 项目改造 依赖环境 准备一台系统为 Centos 7 以上的服务器,系统需要安装 Docker 和 Docker Compos 环境,安装方法可以参考前面两篇文章: Docker(一):Docker入门教程 Docker(四):Docker 三剑客之 Docker Compose Docker 化改造 项目改造后的项目机构图如下: 因为上一篇文章Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践 已经介绍了此类项目结构和内容含义,因此这里主要描述新增内容。 docker-compose.yaml 文件 我们首先来看一下docker-compose.yaml文件: version: '3' services: nginx: container_name: favorites-nginx image: nginx:1.13 restart: always ports: - 80:80 - 443:443 volumes: - ./nginx/conf.d:/etc/nginx/conf.d - /tmp/logs:/var/log/nginx mysql: build: ./mysql environment: MYSQL_DATABASE: favorites MYSQL_ROOT_PASSWORD: root MYSQL_ROOT_HOST: '%' TZ: Asia/Shanghai ports: - "3306:3306" volumes: - ./mysql_data:/var/lib/mysql restart: always app: restart: always build: ./app working_dir: /app volumes: - ./app:/app - ~/.m2:/root/.m2 - /tmp/logs:/usr/local/logs expose: - "8080" command: mvn clean spring-boot:run -Drun.profiles=docker depends_on: - nginx - mysql 相对上一篇内容本次的docker-compose.yaml文件主要新增了两部分的内容: 1、将 Nginx 和 app 的日志映射到宿主机上,方便我们查看日志 2、将 Mysql 的数据存储映射到宿主机上,这样的好处是不至于将集群关掉之后数据丢失 docker-compose.yaml文件中,日志部分: version: '3' services: nginx: volumes: - /tmp/logs:/var/log/nginx app: volumes: - /tmp/logs:/usr/local/logs 分别将 Nginx 和云收藏项目日志映射到宿主机的/tmp/logs,方便我们查看项目日志。 定制 mysql 初始化信息 docker-compose.yaml文件中,Mysql 变化内容: version: '3' services: mysql: build: ./mysql environment: TZ: Asia/Shanghai volumes: - ./mysql_data:/var/lib/mysql 我将有变化的内容都摘了出来,mysql 新增了 TZ 环境变量将时区指向上海,另外我们将 Mysql 镜像内容提出来,放到项目的 mysql 目录下单独构建。mysql 目录下有两个文件,一个是 Dockerfile 定义 Mysql 镜像,一个是 my.cnf 文件定义 Mysql 编码等信息。 my.cnf 文件内容 #省略一部分 ... character_set_server=utf8 character_set_filesystem=utf8 collation-server=utf8_general_ci init-connect='SET NAMES utf8' init_connect='SET collation_connection = utf8_general_ci' skip-character-set-client-handshake 此文件主要的作用是让 Mysql 支持 UTF-8. Dockerfile 文件内容 FROM mysql/mysql-server:5.7 COPY my.cnf /etc/my.cnf 使用 Mysql5.7 版本,并且将同目录下的 my.cnf 拷贝到服务器/etc/my.cnf中 这样 Mysql 的相关信息就定义好了。 其它 其它内容变化不大,nginx 目录下存放着 Nginx 的配置文件,项目新增application-docker.properties文件,将数据库连接部分修改即可。 改造完成之后,我们只需要将项目拷贝到部署服务器然后执行:docker-compose up就可以启动。 部署 我已经将项目的改造内容提交到 github 上面,这样大家部署的时候仅需要三步,即可成功部署云收藏项目。 1、下载源码解压 下载最新发布版本 wget https://github.com/cloudfavorites/favorites-web/archive/favorites-1.1.1.zip 解压 unzip favorites-1.1.1.zip 进入目录 cd favorites-web-favorites-1.1.1/ 2、修改配置文件 修改文件application-docker.properties vi app/src/main/resources/application-docker.properties 修改内容如下 favorites.base.path=http://xx.xxx.xx.xx/ 地址为部署服务器的地址 3、启动项目 配置完成后,后台启动 [root@~]# docker-compose up -d Creating network "favoriteswebfavorites111_default" with the default driver Creating favorites-nginx ... done Creating favoriteswebfavorites111_mysql_1 ... done Creating favoriteswebfavorites111_app_1 ... done 启动完成后,浏览器访问上面配置地址:http://xx.xxx.xx.xx/,就可以看到云收藏的首页了。 辅助内容 启动后想查看某个容器内的服务运行情况,可以使用以下命令进入: 使用docker ps查看宿主机上面运行的 Docker 容器 [root@VM_73_217_centos ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a466ce6e58a5 favoriteswebfavorites111_app "/usr/local/bin/mv..." 16 hours ago Up 16 hours 8080/tcp favoriteswebfavorites111_app_1 1b4f1b912de0 nginx:1.13 "nginx -g 'daemon ..." 16 hours ago Up 16 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp favorites-nginx 65b481bb7741 favoriteswebfavorites111_mysql "/entrypoint.sh my..." 16 hours ago Up 16 hours (healthy) 0.0.0.0:3306->3306/tcp, 33060/tcp favoriteswebfavorites111_mysql_1 根据上面查询的 Docker 容器 ID 信息,执行下面命令 docker exec -ti CONTAINER_ID bash #比如进入项目容器中 [root@VM_73_217_centos ~]# docker exec -ti a466ce6e58a5 bash root@a466ce6e58a5:/app# ps -ef|grep java ... 退出容器执行以下命令: root@a466ce6e58a5:/app# exit exit [root@VM_73_217_centos ~]# 这样以后如果我们想部署云收藏项目就变的非常简单,仅仅需要三步可以愉快的搭建自己的收藏系统了,小伙伴们赶紧动起手来。

优秀的个人博客,低调大师

年底收官!令令开门找到开启智慧城市的“云钥匙”

欢迎关注“令令开门”微信公众号——了解手机开门、一起畅想未来新生活。 在刚刚过去的一年里,虽然受到国内经济下行压力影响,尤其是房地产行业的中期迟缓给各行业带来不少冲击,但在2015年我国安防行业发展的整体形势还是稳中有进、持续上升。 根据中安防的调查报告显示,2015年全年,国内安防工程市场产值达到2730亿元,较去年提升了约60%,该数据也佐证了安防行业在经济增速降缓的大环境下逆势前行的表现。 在所有安防项目中,工业园区、楼宇物业、教育学校依旧占据着主要份额,而智慧城市(平安城市)项目也成为新的掘金点。那么,什么是智慧城市?打开智慧城市大门的“云钥匙”又是什么?作为贯穿智慧城市建设的智能门禁行业的发展又如何呢? 打开智慧城市大门的“云钥匙” 智慧城市的概念最早是由IBM在2010年提出来的,其主要内容是“通过运用信息和通信技术手段感测、分析、整合城市运行核心系统的各项关键信息,从而对包括民生、环保、公共安全、城市服务、工商业活动在内的各种需求做出智能响应”,简单来说,智慧城市可以理解为一种协调机制,通过信息技术协调整个城市的资源和人力,实现高效、减少浪费,最终达到城市的可持续性发展。 从技术发展的视角来看,智慧城市建设要求通过以移动技术为代表的物联网、云计算等新一代信息技术应用实现全面感知、泛在互联、普适计算与融合应用,因此,我们不难发现,场景的移动化是实现“智慧城市”的必由之路。 而有门的场景就需要锁,有锁即有钥匙,“令令开门”所打造的就是一把可以打开连接“智慧城市”大门的高效安全、智能云控的“云钥匙”,通过“高兼容性”、”秒开门”、”二维码访客管理系统”、“数据可控”等多项产品优势在地产领域树立起的手机智能门禁标杆地位, “令令”正在将视野延伸至更广阔的空间:所有居住和公共出入场景。 智能门禁领域的“琅琊榜”榜首 2015年可谓是“令令开门“的“收获年”,在同万科、保利、恒大签下大单后,“令令”又在10月相继中标远洋地产、广州广电、北大资源等集团项目。 依靠独一无二的技术专利和金牌品质的产品方案,“令令”在智能门禁领域一路高歌猛进,截止15年底,采用或合作“令令”智能手机门禁的地产集团、物业公司已达50家之多,产品遍布深圳、北京、上海、广州、成都、武汉、南京、济南、厦门、沈阳等二十余个省市。 无论从项目数量还是合作集团的体量来看,“令令开门 ”无疑已牢牢占据了住宅地产、写字楼等行业智能门禁的“琅琊榜”榜首地位。 令令“云钥匙”布局渐成 当前,“令令”的产品已经覆盖全国二十多个省市的小区和写字楼,除此之外,不少机关单位如公安局、街道办等也都安装了令令智能门禁,对于这些地区的住户和办公人员来说,丢掉繁琐的门卡和钥匙已经成为现实,因为当你需要开门的时候,无论在公司还是小区,你的手机便是钥匙。 2016年,”令令开门”将继续以打造智慧化“公共出入”为核心目标,围绕住宅地产、写字楼、教育、医疗、交通物流、金融、机关单位和酒店会所等八大板块完善产品布局,更多人将享受到“云钥匙“带来的实惠和便利,“云钥匙”也会成为打开“智慧城市”大门的关键,而我们的生活也将从此发生新的变革:完全从钥匙中束缚出来。 本文转自d1net(转载)

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册