首页 > 编程语言 >拂衣天气(微天气 )程序发布记录

拂衣天气(微天气 )程序发布记录

时间:2024-05-04 13:56:21浏览次数:12  
标签:记录 部署 数据库 拂衣 程序 天气 postgis 镜像 docker

前言

  • 服务端部署:由于并没有建立全链路的自动化部署,目前还需要到云服务器上进行环境制作(数据库,Nginx),并拉取后端服务进行部署
  • 小程序发布:需要先完成服务端部署,保证应用正常可用

服务端部署

数据库安装与数据初始化

最开始的时候,我是直接将在操作系统上面安装数据库,后面发现迁移的时候还是不方便,即使我可以放弃数据库中的数据,但是还是需要重新创建数据表结构。

所以,在这一次中,我编写了一个Dockerfile脚本,使用一个空数据库作为模板,构建了postgis镜像。基于此,我可以实现快速的迁移与部署。由于这是一个实验性质的小程序,所以数据资产并不是十分重要(并不是说不安全,而是我可以丢弃),所以我可以安心的使用docker技术。在初始化postgis容器的时候,会同步释放模板以创建数据库。这将会带来一个问题是:如果重新创建容器,那么将会得到一个全新的数据库。当然你可以把数据库的data目录映射到宿主机上,应该可以解决这个问题。

docker build -t registry.cn-hangzhou.aliyuncs.com/fuyi-atlas/micro-weather-postgis:12-3.4 .

最后,我在本地完成该镜像的制作后,将其推送到我的阿里云镜像仓库中,便于后续使用。你可以注册一个阿里云账户去免费启用个人版的镜像仓库,也可以直接使用dockerhub。

docker push registry.cn-hangzhou.aliyuncs.com/fuyi-atlas/micro-weather-postgis:latest

应用部署

于本地完成镜像制作,并推送到阿里云镜像仓库中。

为了更方便的进行部署,我编写了docker compose脚本,用于将数据库与应用服务端程序一并启动。目前程序中有一个海报分享的功能,该功能实现中需要一些额外的中文字体的支持,所以需要将此部分中文字体放置到宿主机的某个目录下,并在环境变量中指定该目录,脚本中会将该目录映射该到容器内的/usr/share/fonts目录下

对于图片访问,还是延续此前的实现,即在服务器端生成分享海报,存储到本地(指服务器磁盘),而后通过Nginx代理访问。由于目前的服务器我是与他人共用,同时还需要配置域名证书,所以暂时没有将Nginx的部署同步放置到docker compose脚本中。

标签:记录,部署,数据库,拂衣,程序,天气,postgis,镜像,docker
From: https://www.cnblogs.com/threadj/p/18172240

相关文章

  • 拂衣天气(微天气)Github Action镜像自动构建与推送
    前言这里暂不作过多的操作,还是保持与此前一致。即通过GithubAction完成DockerImage的build与push,目标仓库为阿里云容器镜像服务实例(个人版)registry.cn-hangzhou.aliyuncs.com那么一共分为三个部分:Dockerfile编写阿里云容器镜像服务配置GithubActionDockerfile编写jdk......
  • 拂衣天气(微天气)终篇
    起源天气小程序产生于2022年年初,目的是用于验证自己是否有进入全栈开发(仅前后端)的能力。受新冠疫情影响,2022年的春节是在杭州过的。还记得当时附近好几个地方都被划为了高风险,对整个区进行了管控。如果选择回家的话,得到将是14天的隔离,还不确定能否回来上班。因此便没有回去了。......
  • 拂衣天气(微天气)-序章
    前言天气小程序产生于2022年年初,目的是用于验证自己是否有进入全栈开发(仅前后端)的能力。该项目从2022年1月12号正式启动,于2022年3月19日发布一阶段最终版本(1.1.9),总体耗时2个月零7天。从内容完整度以及界面友好程度来说,我给自己70分。完成内容和风天气API接入,可实现实时天气、......
  • 拂衣天气(微天气)-技术预研
    前言俗话说:磨刀不误砍柴工。我想做一个天气类别的小程序,以此进行全栈开发能力的试炼。我想这会是一个微信小程序、是一个可以正常使用的小程序,以Java进行服务端开发,以Mapbox实现天气数据可视化。但是我是一个后端开发工程师,我不怎么会写页面,我特别的讨厌写CSS。我也没有接触过......
  • 拂衣天气(微天气)-模型设计
    前言这是一个前后端分离的项目,后端使用Java进行开发,而前端通过微信小程序实现。功能结构可从上图得知,部分功能已去除:消息消息推送紧急情况推送用户个人中心模型设计用户信息(UserInfo)idLong主键oidStringOpenIDuidStringUnionIDnameString昵称pho......
  • 拂衣天气(微天气)-开发环境准备
    前言本文用于说明本次开发所使用的环境,以及环境的搭建过程。操作系统Windows10专业版其实我当时使用的操作系统的ArchLinux,开发完成后才又重装回Windows。现在又用回了[email protected]服务端服务端使用Java语言进行开发,项目构建使用Maven(Grad......
  • 拂衣天气(微天气)—行政区划数据(一)
    前言微天气程序中存在如下几个功能需要使用到行政区划数据:城市列表,需要支持城市搜索根据经纬度获区域(城市)的天气数据地图坐标拾取并获取所处区域(城市)信息,同时获取天气数据对于城市的天气数据,不使用和风天气的城市列表,而是自行维护,通过空间位置(经纬度)进行关联。对于城市位置......
  • 【网络自动化运维】使用pythonping检查设备的连通性并记录可达设备(eNSP模拟器)
    实验拓扑:PC的IP地址和五台交换机的地址在同一网段,具体IP如图所示。现在保证直连网络能够通信,并且故意将SW5的接口shutdown掉,保证无法联通,作为对照的测试设备。在PC上运行python代码,测试与五台交换机的连通性。由于本次测试使用的是pythonping模块,这并不是python自带的模块,需要......
  • DHU网络攻防靶场攻击记录
    DHU网络靶场攻击记录已知:靶场入口10.199.227.xxx不完整的网络拓扑图:环境准备:kali/wsl-kali/虚拟机kali以及windows或其他操作系统的本机工具准备:Fscannmaplaravel-CVE-2021-3129-EXP-main哥斯拉Burpsuitemsfconsole(主要)目录DHU网络靶场攻击记录如何挂代理入口处机......
  • FFmpeg常用命令案例记录
    音频转换mp3为ogg格式ffmpeg-iinput.mp3-c:alibvorbisoutput.ogg降低音量(例如50%)ffmpeg-iinput.mp3-af"volume=0.5"output.mp3视频转换mkv为mp4并进行无损压缩ffmpeg-iinput.mkv-c:vlibx264-crf18-presetslow-c:acopyoutput.mp4转换4K为10......