beego+goAdmin+mysql+docker+natapp作为微信小程序地服务器“伪部署”

   日期:2024-12-27    作者:nanhaiguoqi 移动:http://oml01z.riyuangf.com/mobile/quote/60781.html
写在前面的话
1. 为什么我要叫伪部署

: 因为我把它们放在服务器运行,都是开发模式。生产模式实在不会弄,所以就这样了。

2. 系统环境

: 腾讯云服务器 系统为:ubuntu 版本不记得,应该是比较高的。

3. 前提假设
5. 可以从 二、docker部署mysql开始,不然配置半天发现数据库都没连。

正文开始

1. 在beego项目根目录下,编写Dockerfile 文件
 

ps 其实这个 CMD [“bee”, “run”] 这条可以不要,可以进入手动启动。

2. 构建 wordhelpapi 这个镜像
 

由于我已经构建过,所以我就不贴结果图。

3. 查看 wordhelpapi 这个镜像 是否成功构建
 

参数说明

-t :指定要创建的目标镜像名

. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

  1. -i: 交互式操作。
  2. -t: 终端。
  3. –name wordhelpapi 指定生成容器的名称为 wordhelpapi
  4. -p aaa:bbb表示宿主机的aaa端口映射容器bbb端口。
  5. -v aaa:bbb 表示将本地aaa目录下的文件映射(复制)到容器bbb目录下面。
  6. wordhelpapi 最后这个 表示使用wordhelpapi这个镜像来生成容器。
5. 查看 wordhelpapi 这个容器是否创建成功

在这之前,一切顺利的话,你可能直接就进入到容器内部了。
假设我们还在宿主机里。
查看容器是否成功构建

 
 
 
 
 

知识补充

  1. docker run 从选择镜像到生成容器,并启动
  2. docker start 启动一个已经生成的镜像。

接下来假设我们要对容器 内部的beego项目修修改改。这是后我们要转战进入容器内部了

6. 进入 wordhelpapi 这个容器内部,并为所欲为
 
 
 

然后这样

 

一切走上正轨之后。
可以这样运行你的beego(因为我打包部署不成功,所以只能以开发模式运行了,毕竟只是毕设演示用),在你beego根目录下,如果有wordhelpapi(你曾经bee run 出来的) 二进制文件,直接删了后

 

这样beego 项目在容器里就一直后台运行了。
不管这个成功与否,到这里已经成功了,无非是你的数据还没有成功连接数据库。

补充知识
1. 假设你现在在宿主机里。需要传文件到容器内部
 

说明:将当前目录下的 aaa文件复制到Id为6a72b1dd428c的容器的/bbb目录下面。

2. 运行出错找出这个pid, kill他
 

说明:lsof 没有的话你要安装;9000表示我的api 运行在9000端口。

 

说明:1096是查出来的pid。

突然转场一下 我们应该先部署mysql

接上一个步骤,退出wordhelpapi 这个容器

 
 
1. 拉取mysql镜像

我数据用的mysql5.7。所以

 

自行查看是否拉取成功

 
 
2. 利用镜像构建容器并运行

前面说了。docker run 表示利用镜像构建容器并运行。

 

搞这个也是搞了蛮久,建议直接复制,自行改改端口,改改数据库密码就行了。能力强的多搞搞。

2. 查看 mymysql这个容器是否运行

知识补充 docker ps表示 显示正在运行的容器,docker ps -a 显示所有容器(不管是否运行

 
 
3. 测试mymysql 这个容器服务是否正常。

这里我用navicat for mysql ,为什么选择这个呢,因为我主要搞前端比较多,后端薄弱,就是数据库查询这块不行,navicat 可以帮助我可视化地构建查询语句。前端小伙伴们可以了解下。

1. 新建连接。输入ip,用户名,密码.
2. 此时可以通过这个工具,将你地数据库进行导入了。
1. 在goAdmin项目根目录下,编写Dockerfile 文件

跟弄beego那个差不多。可以直接复制那个文件Dockerfile 文件 改改端口号就好。
前提是你要自己成功运行过goAdmin。如果没有经验可以看我的上篇博客。那个是写goAdmin搭建后台管理页面的。

 
1. 利用当前Dockerfile 文件构建wordhelpweb镜像
 
2. 利用当前wordhelpweb镜像构建wordhelpweb容器
 
3. 进入wordhelpweb,并为所欲为
 
4. 运行wordhelpweb容器中的goAdmin项目

假设我到达容器中goAdmin项目的根目录位置

 

不晓得为啥 & 这个命令会意外终止。所以就用了

补充

在这一步,会出现很多报错,因为 各个github.com里面有的包没有,所以你看你需要哪些包,就用前面提到的 命令将你的包都搞进去。
前面也提到过,你要解压缩什么的 这些命令也是没有的,所以
apt-get update 之后,再安装你需要的命令工具,不然apt-get install 会无效。
话说这一步,我好多包都没搞过来,光命令和 和 命令就用了很多次。

另外

我们数据库服务启动成功了。

  1. beego中conf/app.go 文件中,数据库IP地址建议用内网地址,因为beego,mysql,goAdmin三者都是容器化,所以他们都算在一个局域网内。查看mysql的内网地址
    首先进入mymysql这个容器,然后cat出主机名称就可以看到了
 
 
 
 

微信小程序接口需要带证书的域名,还要备案了的域名,所以,作为学生党,啊呸,还有一个月就不是了。没钱所以从natapp买了个二级域名,记得要选择可以免费开启https的。
还是说一下完整的步骤把,怕有的同学这个不会弄。

1.购买二级域名
2. 可能第一步之前你要先购买隧道,那就去点购买隧道,购买一个把,vip_1那个就可以了。
3.配置隧道
4.进入wordhelpapi 容器中,并启用隧道

假设你已经进来了,假设你按照我之前的apt-get update了,那么你可以安装下wget 用来下载natapp的客户端,或者本地下载好上传宿主机,再上传容器中(相信一般人都是怕麻烦的)所以我们用wget下载

1. 首先 复制下载链接地址
2. wget 链接地址

可以先创建个文件夹 来存放它,再cd进入吗,再下载。

 
2. 解压这个zip 文件
 

这是这个目录下会多出一个 natapp可执行文件。
但是如果你现在直接参照官网的

 

会说你权限不行。所以我们向后退一级目录


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号