这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
问题1:部署后无法访问?
我是用Docker部署,容器也构建运行成功,docker ps也能看到,也对端口进行映射和暴露,但是通过app访问的时候却连接不上。
原因:还需要登录到阿里云上面进行设置,将服务器对应服务的端口打开,如果是8080,就打开8080,并将来源设置为运行0.0.0.0/0,允许所有ip访问。
问题2:打开抖声app,设置服务地址,使用功能时发现其他的都正常,就是视频功能出现了一点问题,上传视频后封面显示不出来。
原因:经过我排查发现,上传后只有视频,没有封面,经过我查看日志,发现是ffmpeg.exe没有执行权限,在Dockerfile里面新增加一层RUN chmod +x ./third_party/ffmpeg.exe,意思是运行linux的chmod命令,+x是给ffmpeg.exe执行权限。
但是这样设置后发现还是不行,最后头皮都要撸秃了,猛然想到,在linux上运行是不是要安装linux的才行,然后我又在ffmpeg的下载页面,找了linux版本的,解压后得到一个没有.exe后缀的文件,但是这就是有问题,如果我的小组成员要想在自己电脑上运行怎么办?
然后我就想将两个ffmpeg的文件放入third_party目录里面,如图所示:
然后通过runtime包的GOOS方法获取当前操作系统的类型,然后判断一下,是linux系统,就运行ffmpeg,是windows系统则运行ffmpeg.exe,当然,我还设置了一个默认的,如果都不是,默认运行ffmpeg。
问题3:mysql无法通过127.0.0.1连接
解决:这个好像是容器的问题,我把端口暴露出来,通过服务器的ip地址进行访问,貌似也可以把ip地址换成容器的ip,不过这样感觉也挺麻烦的,就暂时先这样用着,后面在看有没有其他方法。